From c190b1fc1175110e0ad1cd5570033c039c2bc1fb Mon Sep 17 00:00:00 2001 From: Vladimir Shushlin Date: Wed, 8 Dec 2021 19:41:26 +0300 Subject: refactor: move ratelimiter configuration to handlers package --- app.go | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'app.go') diff --git a/app.go b/app.go index 6030cad8..84eb8956 100644 --- a/app.go +++ b/app.go @@ -32,7 +32,6 @@ import ( "gitlab.com/gitlab-org/gitlab-pages/internal/httperrors" "gitlab.com/gitlab-org/gitlab-pages/internal/logging" "gitlab.com/gitlab-org/gitlab-pages/internal/netutil" - "gitlab.com/gitlab-org/gitlab-pages/internal/ratelimiter" "gitlab.com/gitlab-org/gitlab-pages/internal/rejectmethods" "gitlab.com/gitlab-org/gitlab-pages/internal/request" "gitlab.com/gitlab-org/gitlab-pages/internal/routing" @@ -237,6 +236,7 @@ func setRequestScheme(r *http.Request) *http.Request { return r } +// TODO: move the pipeline configuration to internal/pipeline https://gitlab.com/gitlab-org/gitlab-pages/-/issues/670 func (a *theApp) buildHandlerPipeline() (http.Handler, error) { // Handlers should be applied in a reverse order handler := a.serveFileOrNotFoundHandler() @@ -258,19 +258,7 @@ func (a *theApp) buildHandlerPipeline() (http.Handler, error) { handler = routing.NewMiddleware(handler, a.source) - if a.config.RateLimit.SourceIPLimitPerSecond > 0 { - rl := ratelimiter.New( - "source_ip", - ratelimiter.WithCacheMaxSize(ratelimiter.DefaultSourceIPCacheSize), - ratelimiter.WithCachedEntriesMetric(metrics.RateLimitSourceIPCachedEntries), - ratelimiter.WithCachedRequestsMetric(metrics.RateLimitSourceIPCacheRequests), - ratelimiter.WithBlockedCountMetric(metrics.RateLimitSourceIPBlockedCount), - ratelimiter.WithLimitPerSecond(a.config.RateLimit.SourceIPLimitPerSecond), - ratelimiter.WithBurstSize(a.config.RateLimit.SourceIPBurst), - ) - - handler = rl.Middleware(handler) - } + handler = handlers.Ratelimiter(handler, a.config) // Health Check handler, err = a.healthCheckMiddleware(handler) -- cgit v1.2.3