diff options
author | 2023-01-03 10:50:59 +0000 | |
---|---|---|
committer | 2023-01-03 11:50:59 +0100 | |
commit | 71dfea7e47eef3d89b0c4919d71a6ad58e35912d (patch) | |
tree | e2585e1b50865fff4d57f8270a4a388bcf61f8c7 /internal/api/activitypub.go | |
parent | [docs] Add troubleshooting section for Apache (#1291) (diff) | |
download | gotosocial-71dfea7e47eef3d89b0c4919d71a6ad58e35912d.tar.xz |
[chore] shuffle middleware to split rate limitting into client/s2s/fileserver, share gzip middleware globally (#1290)
Signed-off-by: kim <grufwub@gmail.com>
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/api/activitypub.go')
-rw-r--r-- | internal/api/activitypub.go | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/internal/api/activitypub.go b/internal/api/activitypub.go index 68c3b81e0..70b696834 100644 --- a/internal/api/activitypub.go +++ b/internal/api/activitypub.go @@ -22,6 +22,7 @@ import ( "context" "net/url" + "github.com/gin-gonic/gin" "github.com/superseriousbusiness/gotosocial/internal/api/activitypub/emoji" "github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users" "github.com/superseriousbusiness/gotosocial/internal/db" @@ -37,20 +38,20 @@ type ActivityPub struct { isURIBlocked func(context.Context, *url.URL) (bool, db.Error) } -func (a *ActivityPub) Route(r router.Router) { +func (a *ActivityPub) Route(r router.Router, m ...gin.HandlerFunc) { // create groupings for the 'emoji' and 'users' prefixes emojiGroup := r.AttachGroup("emoji") usersGroup := r.AttachGroup("users") // instantiate + attach shared, non-global middlewares to both of these groups var ( - rateLimitMiddleware = middleware.RateLimit() // nolint:contextcheck signatureCheckMiddleware = middleware.SignatureCheck(a.isURIBlocked) - gzipMiddleware = middleware.Gzip() cacheControlMiddleware = middleware.CacheControl("no-store") ) - emojiGroup.Use(rateLimitMiddleware, signatureCheckMiddleware, gzipMiddleware, cacheControlMiddleware) - usersGroup.Use(rateLimitMiddleware, signatureCheckMiddleware, gzipMiddleware, cacheControlMiddleware) + emojiGroup.Use(m...) + usersGroup.Use(m...) + emojiGroup.Use(signatureCheckMiddleware, cacheControlMiddleware) + usersGroup.Use(signatureCheckMiddleware, cacheControlMiddleware) a.emoji.Route(emojiGroup.Handle) a.users.Route(usersGroup.Handle) |