Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app.go
diff options
context:
space:
mode:
authorVladimir Shushlin <v.shushlin@gmail.com>2021-12-08 15:28:02 +0300
committerVladimir Shushlin <v.shushlin@gmail.com>2021-12-08 15:33:40 +0300
commit94f6f41485e4698f59eb1862729e454c1f5f302b (patch)
tree8753819da9a9f83fc7d8d0a90f9f53f7a81bd304 /app.go
parent1c632bf9d3003b44bdd3b101baf00dd210c3f8ee (diff)
refactor: encapsulate lru cache in ratelimiter package
Diffstat (limited to 'app.go')
-rw-r--r--app.go11
1 files changed, 3 insertions, 8 deletions
diff --git a/app.go b/app.go
index 7d8ffebc..508b11fa 100644
--- a/app.go
+++ b/app.go
@@ -31,7 +31,6 @@ import (
"gitlab.com/gitlab-org/gitlab-pages/internal/handlers"
"gitlab.com/gitlab-org/gitlab-pages/internal/httperrors"
"gitlab.com/gitlab-org/gitlab-pages/internal/logging"
- "gitlab.com/gitlab-org/gitlab-pages/internal/lru"
"gitlab.com/gitlab-org/gitlab-pages/internal/netutil"
"gitlab.com/gitlab-org/gitlab-pages/internal/ratelimiter"
"gitlab.com/gitlab-org/gitlab-pages/internal/rejectmethods"
@@ -261,13 +260,9 @@ func (a *theApp) buildHandlerPipeline() (http.Handler, error) {
if a.config.RateLimit.SourceIPLimitPerSecond > 0 {
rl := ratelimiter.New(
- lru.New("source_ip",
- // based on an avg ~4,000 unique IPs per minute
- // https://log.gprd.gitlab.net/app/lens#/edit/f7110d00-2013-11ec-8c8e-ed83b5469915?_g=h@e78830b
- lru.WithMaxSize(5000),
- lru.WithCachedEntriesMetric(metrics.RateLimitSourceIPCachedEntries),
- lru.WithCachedRequestsMetric(metrics.RateLimitSourceIPCacheRequests),
- ),
+ ratelimiter.WithSourceIPCacheMaxSize(ratelimiter.DefaultSourceIPCacheSize),
+ ratelimiter.WithSourceIPCachedEntriesMetric(metrics.RateLimitSourceIPCachedEntries),
+ ratelimiter.WithSourceIPCachedRequestsMetric(metrics.RateLimitSourceIPCacheRequests),
ratelimiter.WithBlockedCountMetric(metrics.RateLimitSourceIPBlockedCount),
ratelimiter.WithSourceIPLimitPerSecond(a.config.RateLimit.SourceIPLimitPerSecond),
ratelimiter.WithSourceIPBurstSize(a.config.RateLimit.SourceIPBurst),