Documentation
¶
Index ¶
Constants ¶
View Source
const ( ProviderMemory = "memory" ProviderNoop = "noop" ProviderRedis = "redis" )
Variables ¶
This section is empty.
Functions ¶
func ProvideRateLimiterFromConfig ¶
func ProvideRateLimiterFromConfig(cfg *Config, metricsProvider metrics.Provider) (ratelimiting.RateLimiter, error)
ProvideRateLimiterFromConfig provides a RateLimiter from config.
func RegisterRateLimiter ¶
RegisterRateLimiter registers a RateLimiter with the injector.
Types ¶
type Config ¶
type Config struct {
Provider string `env:"PROVIDER" json:"provider"`
Redis redisrl.Config `env:"init" envPrefix:"REDIS_" json:"redis"`
RequestsPerSec float64 `env:"REQUESTS_PER_SEC" json:"requestsPerSecond"`
BurstSize int `env:"BURST_SIZE" json:"burstSize"`
}
Config configures rate limiting.
func (*Config) EnsureDefaults ¶
func (cfg *Config) EnsureDefaults()
EnsureDefaults sets default values for zero fields.
func (*Config) ProvideRateLimiter ¶
func (cfg *Config) ProvideRateLimiter(metricsProvider metrics.Provider) (ratelimiting.RateLimiter, error)
ProvideRateLimiter returns a RateLimiter from config.
Click to show internal directories.
Click to hide internal directories.