From 888971618949b9f7b4b37bba6c5748b40796ad36 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Sun, 5 Aug 2018 16:27:55 +0200 Subject: [PATCH] Add capability to terminate SAM server with CTRL+C --- cmd/sam/main.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/cmd/sam/main.go b/cmd/sam/main.go index 3a77efed6..8c3db7721 100644 --- a/cmd/sam/main.go +++ b/cmd/sam/main.go @@ -1,19 +1,18 @@ package main import ( - "log" - "net" - "os" - - "net/http" - - "github.com/go-chi/chi" - "github.com/crusttech/crust/auth" "github.com/crusttech/crust/rbac" "github.com/crusttech/crust/sam/rest" "github.com/crusttech/crust/sam/websocket" + "github.com/go-chi/chi" + "github.com/sentimensrg/sigctx" "github.com/titpetric/factory" + + "log" + "net" + "net/http" + "os" ) func handleError(err error, message string) { @@ -26,6 +25,8 @@ func handleError(err error, message string) { } func main() { + var ctx = sigctx.New() + config := flags("sam", auth.Flags, rbac.Flags, websocket.Flags) // log to stdout not stderr @@ -57,5 +58,6 @@ func main() { // mount REST & WS routes MountRoutes(r, routeOptions, rest.MountRoutes(jwtAuth), websocket.MountRoutes()) - http.Serve(listener, r) + go http.Serve(listener, r) + <-ctx.Done() }