rate

package
v0.2.16 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2024 License: MIT Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const (
	GlobalLimitKey = "$"
	IPLimitKey     = "$$"
)

Variables

View Source
var (
	ErrRateLimit = errors.New("rate limit")
)

Functions

func NewLimiter

func NewLimiter(r float64, b int) limiter.Limiter

func NewRateLimiter

func NewRateLimiter(opts ...Option) limiter.RateLimiter

Types

type Option

type Option func(opts *options)

func FileLoaderOption

func FileLoaderOption(fileLoader loader.Loader) Option

func HTTPLoaderOption

func HTTPLoaderOption(httpLoader loader.Loader) Option

func LimitsOption

func LimitsOption(limits ...string) Option

func LoggerOption

func LoggerOption(logger logger.Logger) Option

func RedisLoaderOption

func RedisLoaderOption(redisLoader loader.Loader) Option

func ReloadPeriodOption

func ReloadPeriodOption(period time.Duration) Option

type RateLimitGenerator

type RateLimitGenerator interface {
	Limiter() limiter.Limiter
}

func NewRateLimitGenerator

func NewRateLimitGenerator(r float64) RateLimitGenerator

func NewRateLimitSingleGenerator

func NewRateLimitSingleGenerator(r float64) RateLimitGenerator

Jump to

Keyboard shortcuts

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