1package worker
2
3import (
4 "context"
5 "net/http"
6)
7
8type ServerTask struct {
9 server *http.Server
10}
11
12func (self *ServerTask) Start(ctx context.Context) error {
13 go func() {
14 // nolint: errcheck
15 self.server.ListenAndServe()
16 }()
17
18 <-ctx.Done()
19 return self.server.Shutdown(ctx)
20}
21
22func NewServerTask(server *http.Server) *ServerTask {
23 return &ServerTask{
24 server: server,
25 }
26}