lens @ a9a270ba1e1e9add10d75de3e592efee9728c5b4

 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}