proper server shutdown

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
This commit is contained in:
Jörn Friedrich Dreyer
2020-02-28 09:57:42 +01:00
parent 047380eac6
commit e357c3a931
2 changed files with 15 additions and 5 deletions
+11 -4
View File
@@ -164,22 +164,29 @@ func Server(cfg *config.Config) *cli.Command {
if err != nil {
logger.Info().
Err(err).
Str("transport", "http").
Str("transport", "ldap").
Msg("Failed to initialize server")
return err
}
gr.Add(func() error {
server.ListenAndServe()
return nil
err := make(chan error)
select {
case <-ctx.Done():
return nil
case err <- server.ListenAndServe():
return <-err
}
}, func(_ error) {
logger.Info().
Str("transport", "http").
Str("transport", "ldap").
Msg("Shutting down server")
server.Shutdown()
cancel()
})
}
{