Skip to content

Commit 4d41d56

Browse files
committed
rate limit
1 parent a38737c commit 4d41d56

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ AWS_SESSION_TOKEN=
2020
AWS_REGION=eu-central-1
2121
AWS_BUCKET=
2222

23+
RATE_LIMIT=100
2324
UPLOAD_RATE_LIMIT=50
25+
RATE_LIMIT_DURATION=1
2426

2527
# File Validation
2628
VALIDATE_FILE=true

pkg/middleware/limiter.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import (
55

66
"github.com/gofiber/fiber/v2"
77
"github.com/gofiber/fiber/v2/middleware/limiter"
8+
"github.com/mstgnz/cdn/pkg/config"
89
)
910

1011
// RateLimiterConfig default rate limiter configuration
1112
var RateLimiterConfig = limiter.Config{
12-
Max: 100, // Maximum number of requests per duration
13-
Expiration: 1 * time.Minute, // Duration for rate limit window
13+
Max: config.GetEnvAsIntOrDefault("RATE_LIMIT", 100),
14+
Expiration: time.Duration(config.GetEnvAsIntOrDefault("RATE_LIMIT_DURATION", 1)) * time.Minute, // Duration for rate limit window
1415
KeyGenerator: func(c *fiber.Ctx) string {
1516
return c.IP() // Use client IP as key
1617
},

pkg/middleware/security.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/gofiber/fiber/v2"
1010
"github.com/gofiber/fiber/v2/middleware/cors"
1111
"github.com/gofiber/fiber/v2/middleware/limiter"
12+
"github.com/mstgnz/cdn/pkg/config"
1213
)
1314

1415
// SecurityConfig represents security middleware configuration
@@ -220,5 +221,5 @@ func NewAdvancedRateLimiter(max int, duration time.Duration) fiber.Handler {
220221

221222
// DefaultAdvancedRateLimiter returns a default rate limiter middleware (100 requests per minute)
222223
func DefaultAdvancedRateLimiter() fiber.Handler {
223-
return NewAdvancedRateLimiter(100, time.Minute)
224+
return NewAdvancedRateLimiter(config.GetEnvAsIntOrDefault("RATE_LIMIT", 100), time.Minute)
224225
}

0 commit comments

Comments
 (0)