INNER CODE UNIT · Go
srv
ContainerSolutions/k8s-deployment-strategies · app/main.go:100
srv := &http.Server{Addr: *addr, Handler: c.Then(promRequestHandler(r))}
go serveMetrics(*metricsAddr)
go serveHTTP(srv)
go serveProbe(*probeAddr, health)
<-quit
log.Info().Msg("Shutting down server...")
// Gracefully shutdown connections
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
log.Fatal().Err(err).Msgf("Server shutdown failed: %+v", err)
}
log.Info().Msg("Server was shut down successfully")