From 3ca4f4411860c31da9e62b45d2431426a0c1393a Mon Sep 17 00:00:00 2001 From: Deluan Date: Sat, 20 Jan 2024 19:17:21 -0500 Subject: [PATCH] Simplify default middlewares setup --- server/middlewares.go | 1 + server/server.go | 22 +++++++++------------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/server/middlewares.go b/server/middlewares.go index 364ad149..858cc48c 100644 --- a/server/middlewares.go +++ b/server/middlewares.go @@ -116,6 +116,7 @@ func compressMiddleware() func(http.Handler) http.Handler { "text/plain", "text/css", "text/javascript", + "text/event-stream", ) } diff --git a/server/server.go b/server/server.go index eb64e207..b0474f86 100644 --- a/server/server.go +++ b/server/server.go @@ -160,7 +160,7 @@ func (s *Server) initRoutes() { r := chi.NewRouter() - middlewares := chi.Middlewares{ + defaultMiddlewares := chi.Middlewares{ secureMiddleware(), corsHandler(), middleware.RequestID, @@ -170,30 +170,26 @@ func (s *Server) initRoutes() { robotsTXT(ui.BuildAssets()), serverAddressMiddleware, clientUniqueIDMiddleware, + compressMiddleware(), + loggerInjector, + authHeaderMapper, + jwtVerifier, } - // Mount the Native API /events endpoint with all middlewares, except the compress and request logger, - // adding the authentication middlewares + // Mount the Native API /events endpoint with all default middlewares, adding the authentication middlewares if conf.Server.DevActivityPanel { r.Group(func(r chi.Router) { - r.Use(middlewares...) - r.Use(loggerInjector) - r.Use(authHeaderMapper) - r.Use(jwtVerifier) + r.Use(defaultMiddlewares...) r.Use(Authenticator(s.ds)) r.Use(JWTRefresher) r.Handle(path.Join(conf.Server.BasePath, consts.URLPathNativeAPI, "events"), s.broker) }) } - // Configure the router with the default middlewares + // Configure the router with the default middlewares and requestLogger r.Group(func(r chi.Router) { - r.Use(middlewares...) - r.Use(compressMiddleware()) - r.Use(loggerInjector) + r.Use(defaultMiddlewares...) r.Use(requestLogger) - r.Use(authHeaderMapper) - r.Use(jwtVerifier) s.router = r }) }