From f165b02adeb7fb3feb29bd9ae8191acd9f37fefd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Wysoki=C5=84ski?= Date: Sun, 22 Jan 2023 10:08:01 +0100 Subject: [PATCH] refactor: defers --- cmd/sessions/internal/serve/serve.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/cmd/sessions/internal/serve/serve.go b/cmd/sessions/internal/serve/serve.go index e90c555..4c3ced8 100644 --- a/cmd/sessions/internal/serve/serve.go +++ b/cmd/sessions/internal/serve/serve.go @@ -41,6 +41,8 @@ func New() *cli.Command { Name: "serve", Usage: "Runs the http server", Action: func(c *cli.Context) error { + logger := zap.L() + db, err := internal.NewBunDB() if err != nil { return fmt.Errorf("internal.NewBunDB: %w", err) @@ -49,8 +51,6 @@ func New() *cli.Command { _ = db.Close() }() - logger := zap.L() - srv, err := newServer(serverConfig{ appVersion: c.App.Version, logger: logger, @@ -61,16 +61,15 @@ func New() *cli.Command { } go runServer(srv, logger) + defer func() { + ctxShutdown, cancelShutdown := context.WithTimeout(c.Context, serverShutdownTimeout) + defer cancelShutdown() + _ = srv.Shutdown(ctxShutdown) + }() logger.Info("Server is listening on the port "+defaultPort, zap.String("port", defaultPort)) waitForSignal(c.Context) - ctxShutdown, cancelShutdown := context.WithTimeout(c.Context, serverShutdownTimeout) - defer cancelShutdown() - if err := srv.Shutdown(ctxShutdown); err != nil { - return fmt.Errorf("srv.Shutdown: %w", err) - } - return nil }, }