diff --git a/serverutil/http.go b/serverutil/http.go index b1d4b94968edc27e116836d981440d24ebeae60e..81c9ae902ff30237d3a45c33edb7ab12fa809c9a 100644 --- a/serverutil/http.go +++ b/serverutil/http.go @@ -70,8 +70,8 @@ func Serve(h http.Handler, serverConfig *ServerConfig, addr string) (err error) // down remaining clients. ctx, cancel := context.WithTimeout(context.Background(), gracefulShutdownTimeout) defer cancel() - if err := srv.Shutdown(ctx); err == context.Canceled { - if err := srv.Close(); err != nil { + if err = srv.Shutdown(ctx); err == context.Canceled { + if err = srv.Close(); err != nil { log.Printf("error terminating server: %v", err) } } @@ -80,7 +80,12 @@ func Serve(h http.Handler, serverConfig *ServerConfig, addr string) (err error) }() signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) - if err := srv.ListenAndServe(); err != http.ErrServerClosed { + if tlsConfig != nil { + err = srv.ListenAndServeTLS("", "") + } else { + err = srv.ListenAndServe() + } + if err != http.ErrServerClosed { return err }