From 9ca3d33c8897cf49a871783058205bb180529cd2 Mon Sep 17 00:00:00 2001 From: Elias Schneider Date: Sun, 11 Jan 2026 14:17:46 +0100 Subject: [PATCH] feat: add environment variable to disable built-in rate limiting --- backend/internal/common/env_config.go | 1 + backend/internal/middleware/rate_limit.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/backend/internal/common/env_config.go b/backend/internal/common/env_config.go index 687b1c24..98b11497 100644 --- a/backend/internal/common/env_config.go +++ b/backend/internal/common/env_config.go @@ -49,6 +49,7 @@ type EnvConfigSchema struct { AllowDowngrade bool `env:"ALLOW_DOWNGRADE"` InternalAppURL string `env:"INTERNAL_APP_URL"` UiConfigDisabled bool `env:"UI_CONFIG_DISABLED"` + DisableRateLimiting bool `env:"DISABLE_RATE_LIMITING"` FileBackend string `env:"FILE_BACKEND" options:"toLower"` UploadPath string `env:"UPLOAD_PATH"` diff --git a/backend/internal/middleware/rate_limit.go b/backend/internal/middleware/rate_limit.go index 210ea273..11da4a09 100644 --- a/backend/internal/middleware/rate_limit.go +++ b/backend/internal/middleware/rate_limit.go @@ -17,6 +17,12 @@ func NewRateLimitMiddleware() *RateLimitMiddleware { } func (m *RateLimitMiddleware) Add(limit rate.Limit, burst int) gin.HandlerFunc { + if common.EnvConfig.DisableRateLimiting { + return func(c *gin.Context) { + c.Next() + } + } + // Map to store the rate limiters per IP var clients = make(map[string]*client) var mu sync.Mutex