Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
AllowedJOSEAlgorithms = []jose.SignatureAlgorithm{
jose.RS256,
jose.RS384,
jose.RS512,
jose.PS256,
jose.PS384,
jose.PS512,
jose.ES256,
jose.ES384,
jose.ES512,
jose.EdDSA,
}
)
Functions ¶
Types ¶
type RateLimiter ¶
type RateLimiter struct { MaxRequests int // Maximum number of requests allowed Interval time.Duration // Time interval for rate limit Tokens map[string]int // Tokens per resource (e.g., per IP or KID) LastRequest map[string]time.Time // Track last request time per resource // contains filtered or unexported fields }
RateLimiter holds the configuration for a rate-limiting policy
func NewRateLimiter ¶
func NewRateLimiter(maxRequests int, interval time.Duration) *RateLimiter
NewRateLimiter creates a new rate limiter with the specified maximum requests and interval
func (*RateLimiter) MiddlewareFunc ¶
func (rl *RateLimiter) MiddlewareFunc(resourceKeyFunc func(r *http.Request) string) func(next http.Handler) http.Handler
MiddlewareFunc generates a rate-limiting middleware function using a client IP or JWS KID
Click to show internal directories.
Click to hide internal directories.