From 71dfea7e47eef3d89b0c4919d71a6ad58e35912d Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Tue, 3 Jan 2023 10:50:59 +0000 Subject: [chore] shuffle middleware to split rate limitting into client/s2s/fileserver, share gzip middleware globally (#1290) Signed-off-by: kim Signed-off-by: kim --- internal/api/auth.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'internal/api/auth.go') diff --git a/internal/api/auth.go b/internal/api/auth.go index 472c6922a..48131dc3b 100644 --- a/internal/api/auth.go +++ b/internal/api/auth.go @@ -19,6 +19,7 @@ package api import ( + "github.com/gin-gonic/gin" "github.com/superseriousbusiness/gotosocial/internal/api/auth" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" @@ -36,20 +37,20 @@ type Auth struct { } // Route attaches 'auth' and 'oauth' groups to the given router. -func (a *Auth) Route(r router.Router) { +func (a *Auth) Route(r router.Router, m ...gin.HandlerFunc) { // create groupings for the 'auth' and 'oauth' prefixes authGroup := r.AttachGroup("auth") oauthGroup := r.AttachGroup("oauth") // instantiate + attach shared, non-global middlewares to both of these groups var ( - rateLimitMiddleware = middleware.RateLimit() // nolint:contextcheck - gzipMiddleware = middleware.Gzip() cacheControlMiddleware = middleware.CacheControl("private", "max-age=120") sessionMiddleware = middleware.Session(a.sessionName, a.routerSession.Auth, a.routerSession.Crypt) ) - authGroup.Use(rateLimitMiddleware, gzipMiddleware, cacheControlMiddleware, sessionMiddleware) - oauthGroup.Use(rateLimitMiddleware, gzipMiddleware, cacheControlMiddleware, sessionMiddleware) + authGroup.Use(m...) + oauthGroup.Use(m...) + authGroup.Use(cacheControlMiddleware, sessionMiddleware) + oauthGroup.Use(cacheControlMiddleware, sessionMiddleware) a.auth.RouteAuth(authGroup.Handle) a.auth.RouteOauth(oauthGroup.Handle) -- cgit v1.2.3