diff --git a/server.go b/server.go index cdd7f820857cacb64a69ccb10c5fd86c8b3e7511_c2VydmVyLmdv..f7310262f489b9238766467fda37d34958759fa1_c2VydmVyLmdv 100644 --- a/server.go +++ b/server.go @@ -19,6 +19,7 @@ "github.com/go-openapi/runtime/flagext" "github.com/go-openapi/swag" + "github.com/justinas/alice" flags "github.com/orus-io/go-flags" "github.com/rs/zerolog" "golang.org/x/net/netutil" @@ -455,5 +456,6 @@ // SetHandler allows for setting a http handler on this server. func (s *Server) SetHandler(handler http.Handler) { - s.handler = handler + stack := LogStack(s.log, zerolog.ErrorLevel) + if s.Prometheus { @@ -459,3 +461,3 @@ if s.Prometheus { - s.handler = Prometheus("/metrics")(s.handler) + stack = append(stack, Prometheus("/metrics")) } @@ -461,4 +463,6 @@ } + + s.handler = alice.New(stack...).Then(handler) } // UnixListener returns the domain socket listener.