Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RateLimitConfig ¶
type RateLimitConfig struct {
TokenRequestsPerMinute int
TokenBurst int
AuthorizeRequestsPerMinute int
AuthorizeBurst int
RegisterRequestsPerMinute int
RegisterBurst int
}
RateLimitConfig holds configuration for different endpoint rate limits
func DefaultRateLimitConfig ¶
func DefaultRateLimitConfig() *RateLimitConfig
DefaultRateLimitConfig returns sensible default rate limit values
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter implements a token bucket rate limiter per client IP
func NewRateLimiter ¶
func NewRateLimiter(requestsPerMinute int, burst int) *RateLimiter
NewRateLimiter creates a new rate limiter with the specified requests per minute and burst size
func (*RateLimiter) Middleware ¶
func (rl *RateLimiter) Middleware() gin.HandlerFunc
Middleware returns a Gin middleware handler that enforces rate limiting
Click to show internal directories.
Click to hide internal directories.