Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIRateLimiter ¶ added in v0.59.13
type APIRateLimiter struct {
// contains filtered or unexported fields
}
APIRateLimiter manages rate limiting for API tokens
func NewAPIRateLimiter ¶ added in v0.59.13
func NewAPIRateLimiter(config *RateLimiterConfig) *APIRateLimiter
NewAPIRateLimiter creates a new API rate limiter with the given configuration
func (*APIRateLimiter) Allow ¶ added in v0.59.13
func (rl *APIRateLimiter) Allow(key string) bool
Allow checks if a request for the given key (token) is allowed
func (*APIRateLimiter) Reset ¶ added in v0.59.13
func (rl *APIRateLimiter) Reset(key string)
Reset removes the rate limiter for a specific key
func (*APIRateLimiter) Stop ¶ added in v0.59.13
func (rl *APIRateLimiter) Stop()
Stop stops the cleanup goroutine
type AuthMiddleware ¶ added in v0.15.0
type AuthMiddleware struct {
// contains filtered or unexported fields
}
AuthMiddleware middleware to verify personal access tokens (PAT) and JWT tokens
func NewAuthMiddleware ¶ added in v0.15.0
func NewAuthMiddleware( authManager serverauth.Manager, ensureAccount EnsureAccountFunc, syncUserJWTGroups SyncUserJWTGroupsFunc, getUserFromUserAuth GetUserFromUserAuthFunc, rateLimiterConfig *RateLimiterConfig, ) *AuthMiddleware
NewAuthMiddleware instance constructor
type EnsureAccountFunc ¶ added in v0.37.0
type GetUserFromUserAuthFunc ¶ added in v0.42.0
type RateLimiterConfig ¶ added in v0.59.13
type RateLimiterConfig struct {
// RequestsPerMinute defines the rate at which tokens are replenished
RequestsPerMinute float64
// Burst defines the maximum number of requests that can be made in a burst
Burst int
// CleanupInterval defines how often to clean up old limiters (how often garbage collection runs)
CleanupInterval time.Duration
// LimiterTTL defines how long a limiter should be kept after last use (age threshold for removal)
LimiterTTL time.Duration
}
RateLimiterConfig holds configuration for the API rate limiter
func DefaultRateLimiterConfig ¶ added in v0.59.13
func DefaultRateLimiterConfig() *RateLimiterConfig
DefaultRateLimiterConfig returns a default configuration
Click to show internal directories.
Click to hide internal directories.