 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package ratelimit defines common rate limiting logic and config.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
	// Common configuration
	Type     RateLimitType `env:"RATE_LIMIT_TYPE, default=NOOP"`
	Tokens   uint64        `env:"RATE_LIMIT_TOKENS, default=60"`
	Interval time.Duration `env:"RATE_LIMIT_INTERVAL, default=1m"`
	// HMACKey is the key to use when calculating the HMAC of keys before saving
	// them in the rate limiter.
	HMACKey envconfig.Base64Bytes `env:"RATE_LIMIT_HMAC_KEY, required"`
	// Redis configuration
	Redis redis.Config `env:",prefix=RATE_LIMIT_"`
}
    Config represents rate limiting configuration
type RateLimitType ¶
type RateLimitType string
RateLimitType represents a type of rate limiter.
const ( RateLimiterTypeNoop RateLimitType = "NOOP" RateLimiterTypeMemory RateLimitType = "MEMORY" RateLimiterTypeRedis RateLimitType = "REDIS" )
 Click to show internal directories. 
   Click to hide internal directories.