rate_limit

package
v4.1.3 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RequestLimitReachedErr = "request limit reached"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type RateLimiter

type RateLimiter interface {
	Allow(req *http.Request) error
	Inc(req *http.Request)
	Dec(req *http.Request)
}

type TokenBucket

type TokenBucket struct {
	// contains filtered or unexported fields
}

func NewTokenBucket

func NewTokenBucket(timeBucket time.Duration, callLimit int) *TokenBucket

func (*TokenBucket) Allow

func (t *TokenBucket) Allow(_ *http.Request) error

func (*TokenBucket) Dec

func (t *TokenBucket) Dec(_ *http.Request)

func (*TokenBucket) Inc

func (t *TokenBucket) Inc(_ *http.Request)

func (*TokenBucket) Stop

func (t *TokenBucket) Stop()

Jump to

Keyboard shortcuts

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