chore(lint): upgrade golangci-lint to v1.47.2
- Fix Slowloris attacks on HTTP servers - Force set default of 5 minutes for pprof read timeout - Change `ShutdownTimeout` to time.Duration since it cannot be set to 0
This commit is contained in:
@@ -8,25 +8,35 @@ import (
|
||||
)
|
||||
|
||||
type Server struct {
|
||||
address string
|
||||
handler http.Handler
|
||||
logger infoErrorer
|
||||
internalWG *sync.WaitGroup
|
||||
address string
|
||||
handler http.Handler
|
||||
logger infoErrorer
|
||||
internalWG *sync.WaitGroup
|
||||
readHeaderTimeout time.Duration
|
||||
readTimeout time.Duration
|
||||
}
|
||||
|
||||
func New(ctx context.Context, address string, logger Logger,
|
||||
stealth, verbose bool, username, password string) *Server {
|
||||
stealth, verbose bool, username, password string,
|
||||
readHeaderTimeout, readTimeout time.Duration) *Server {
|
||||
wg := &sync.WaitGroup{}
|
||||
return &Server{
|
||||
address: address,
|
||||
handler: newHandler(ctx, wg, logger, stealth, verbose, username, password),
|
||||
logger: logger,
|
||||
internalWG: wg,
|
||||
address: address,
|
||||
handler: newHandler(ctx, wg, logger, stealth, verbose, username, password),
|
||||
logger: logger,
|
||||
internalWG: wg,
|
||||
readHeaderTimeout: readHeaderTimeout,
|
||||
readTimeout: readTimeout,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) Run(ctx context.Context, errorCh chan<- error) {
|
||||
server := http.Server{Addr: s.address, Handler: s.handler}
|
||||
server := http.Server{
|
||||
Addr: s.address,
|
||||
Handler: s.handler,
|
||||
ReadHeaderTimeout: s.readHeaderTimeout,
|
||||
ReadTimeout: s.readTimeout,
|
||||
}
|
||||
go func() {
|
||||
<-ctx.Done()
|
||||
const shutdownGraceDuration = 2 * time.Second
|
||||
|
||||
Reference in New Issue
Block a user