aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/incoming/web
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/incoming/web')
-rw-r--r--forged/internal/incoming/web/web.go22
1 files changed, 12 insertions, 10 deletions
diff --git a/forged/internal/incoming/web/web.go b/forged/internal/incoming/web/web.go
index dc2d9b4..fb5bedc 100644
--- a/forged/internal/incoming/web/web.go
+++ b/forged/internal/incoming/web/web.go
@@ -2,6 +2,7 @@ package web
import (
"context"
+ "errors"
"fmt"
"net"
"net/http"
@@ -37,19 +38,19 @@ type Config struct {
}
func New(config Config) (server *Server) {
- handler := &handler{}
+ httpServer := &http.Server{
+ Handler: &handler{},
+ ReadTimeout: time.Duration(config.ReadTimeout) * time.Second,
+ WriteTimeout: time.Duration(config.WriteTimeout) * time.Second,
+ IdleTimeout: time.Duration(config.IdleTimeout) * time.Second,
+ MaxHeaderBytes: config.MaxHeaderBytes,
+ } //exhaustruct:ignore
return &Server{
net: config.Net,
addr: config.Addr,
root: config.Root,
shutdownTimeout: config.ShutdownTimeout,
- httpServer: &http.Server{
- Handler: handler,
- ReadTimeout: time.Duration(config.ReadTimeout) * time.Second,
- WriteTimeout: time.Duration(config.WriteTimeout) * time.Second,
- IdleTimeout: time.Duration(config.IdleTimeout) * time.Second,
- MaxHeaderBytes: config.MaxHeaderBytes,
- },
+ httpServer: httpServer,
}
}
@@ -72,8 +73,9 @@ func (server *Server) Run(ctx context.Context) (err error) {
})
defer stop()
- if err = server.httpServer.Serve(listener); err != nil {
- if err == http.ErrServerClosed || ctx.Err() != nil {
+ err = server.httpServer.Serve(listener)
+ if err != nil {
+ if errors.Is(err, http.ErrServerClosed) || ctx.Err() != nil {
return nil
}
return fmt.Errorf("serve web: %w", err)