Вопрос: Как использовать `context` + `http.Server` для shutdown и почему важно закрыть idle соединен
Python
Middle
Без компании
Вопрос: Как использовать `context` + `http.Server` для shutdown и почему важно закрыть idle соединения?
Ответы
```go
srv := &http.Server{Addr:":8080", Handler:mux}
go srv.ListenAndServe()
<-ctx.Done()
shutdownCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
_ = srv.Shutdown(shutdownCtx)
```
**Как это работает:** `Shutdown` закрывает listener и ждёт активные запросы. Idle соединения закрываются корректно.