summaryrefslogtreecommitdiff
path: root/internal/api/activitypub.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2023-01-03 10:50:59 +0000
committerLibravatar GitHub <noreply@github.com>2023-01-03 11:50:59 +0100
commit71dfea7e47eef3d89b0c4919d71a6ad58e35912d (patch)
treee2585e1b50865fff4d57f8270a4a388bcf61f8c7 /internal/api/activitypub.go
parent[docs] Add troubleshooting section for Apache (#1291) (diff)
downloadgotosocial-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.go11
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)