Files
netbird/upload-server/server/ratelimit.go
T

32 lines
807 B
Go

package server
import (
"os"
log "github.com/sirupsen/logrus"
"github.com/netbirdio/netbird/management/server/http/middleware"
)
const defaultUploadBurst = 100
func newRateLimiter() *middleware.APIRateLimiter {
cfg, enabled := middleware.RateLimiterConfigFromEnv()
if os.Getenv(middleware.RateLimitingBurstEnv) == "" {
cfg.Burst = defaultUploadBurst
}
// Rate limiting is enabled by default unless explicitly disabled
if os.Getenv(middleware.RateLimitingEnabledEnv) == "" {
enabled = true
}
limiter := middleware.NewAPIRateLimiter(cfg)
limiter.SetEnabled(enabled)
log.Infof("Upload URL rate limiting: enabled=%t rate=%.0f/min burst=%d trusted_proxies=%q",
limiter.Enabled(), cfg.RequestsPerMinute, cfg.Burst, os.Getenv(middleware.RateLimitingTrustedProxiesEnv))
return limiter
}