package worker import ( "context" "net/http" ) type ServerWorker struct { server *http.Server } func (self *ServerWorker) Start(ctx context.Context) error { go func() { // nolint: errcheck self.server.ListenAndServe() }() <-ctx.Done() return self.server.Shutdown(ctx) } func NewServerWorker(server *http.Server) *ServerWorker { return &ServerWorker{ server: server, } }