package esforum import ( "context" "net/http" "time" "github.com/sirupsen/logrus" ) type Server struct { httpServer *http.Server } func (s *Server) Run(port string, handler http.Handler) error { s.httpServer = &http.Server{ Addr: ":" + port, Handler: handler, MaxHeaderBytes: 1 << 20, ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, } logrus.Info("running server...") return s.httpServer.ListenAndServe() } func (s *Server) Shutdown(ctx context.Context) error { return s.httpServer.Shutdown(ctx) }