package server import "time" type Option = func(s *Server) error func WithMiddleware(mw ...Middleware) Option { return func(s *Server) error { s.mw = append(s.mw, mw...) return nil } } func WithWorker(w Worker) Option { return func(s *Server) error { s.Worker = w return nil } } func WithHost(host string) Option { return func(s *Server) error { s.Host = host return nil } } func WithPort(port string) Option { return func(s *Server) error { s.Port = port return nil } } func WithReadTimeout(seconds int) Option { return func(s *Server) error { s.readTimeout = time.Duration(seconds) * time.Second return nil } } func WithWriteTimeout(seconds int) Option { return func(s *Server) error { s.writeTimeout = time.Duration(seconds) * time.Second return nil } } func WithIdleTimeout(seconds int) Option { return func(s *Server) error { s.idleTimeout = time.Duration(seconds) * time.Second return nil } }