middleware

package
v0.5.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2026 License: BSD-2-Clause Imports: 5 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL