# HG changeset patch # User Christophe de Vienne <christophe@cdevienne.info> # Date 1729685494 -7200 # Wed Oct 23 14:11:34 2024 +0200 # Node ID f7310262f489b9238766467fda37d34958759fa1 # Parent cdd7f820857cacb64a69ccb10c5fd86c8b3e7511 Server: add the log middleware stack diff --git a/server.go b/server.go --- 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,10 +456,13 @@ // 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 { - s.handler = Prometheus("/metrics")(s.handler) + stack = append(stack, Prometheus("/metrics")) } + + s.handler = alice.New(stack...).Then(handler) } // UnixListener returns the domain socket listener.