mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-12 17:59:06 +02:00
29 lines
720 B
Go
29 lines
720 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, _ := middleware.RateLimiterConfigFromEnv()
|
|
if os.Getenv(middleware.RateLimitingBurstEnv) == "" {
|
|
cfg.Burst = defaultUploadBurst
|
|
}
|
|
|
|
limiter := middleware.NewAPIRateLimiter(cfg)
|
|
if os.Getenv(middleware.RateLimitingEnabledEnv) == "false" {
|
|
limiter.SetEnabled(false)
|
|
}
|
|
|
|
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
|
|
}
|