diff options
Diffstat (limited to 'pkg/srv')
| -rw-r--r-- | pkg/srv/config.go | 42 | ||||
| -rw-r--r-- | pkg/srv/srv.go | 12 |
2 files changed, 7 insertions, 47 deletions
diff --git a/pkg/srv/config.go b/pkg/srv/config.go deleted file mode 100644 index c02a9c7a..00000000 --- a/pkg/srv/config.go +++ /dev/null @@ -1,42 +0,0 @@ -package srv - -import ( - "crypto/tls" - "net/http" -) - -type Option func(*Config) - -type Config struct { - BindAddress string - Mux http.Handler - TLS *tls.Config -} - -func WithMux(mux http.Handler) Option { - return func(config *Config) { - config.Mux = mux - } -} - -func NewConfig(addr string, options ...Option) *Config { - if addr == "" { - addr = ":0" - } - - c := &Config{ - BindAddress: addr, - Mux: http.DefaultServeMux, - } - for _, option := range options { - option(c) - } - return c -} - -func (c *Config) Run(server *http.Server) error { - if c.TLS != nil { - return server.ListenAndServeTLS("", "") - } - return server.ListenAndServe() -} diff --git a/pkg/srv/srv.go b/pkg/srv/srv.go index a2be3635..a6261ef6 100644 --- a/pkg/srv/srv.go +++ b/pkg/srv/srv.go @@ -4,13 +4,15 @@ import ( "log" "net/http" "time" + + "gitlab.com/mokhax/spike/pkg/cfg" ) -func New(cfg *Config) *http.Server { +func New(c *cfg.Config) *http.Server { return &http.Server{ - Addr: cfg.BindAddress, - Handler: cfg.Mux, - TLSConfig: cfg.TLS, + Addr: c.BindAddress, + Handler: c.Mux, + TLSConfig: c.TLS, ReadHeaderTimeout: 10 * time.Second, ReadTimeout: 30 * time.Second, WriteTimeout: 2 * time.Minute, @@ -19,6 +21,6 @@ func New(cfg *Config) *http.Server { } } -func Run(c *Config) error { +func Run(c *cfg.Config) error { return c.Run(New(c)) } |
