lens @ c9e5d242cbba5e3b9d3ddc4465a9a1367e44cd16

 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}