package ratelimit
import "github.com/go-kit/kit/ratelimit"
Index ¶
- Variables
- func NewTokenBucketLimiter(tb *ratelimit.Bucket) endpoint.Middleware
- func NewTokenBucketThrottler(tb *ratelimit.Bucket, sleep func(time.Duration)) endpoint.Middleware
Variables ¶
ErrLimited is returned in the request path when the rate limiter is triggered and the request is rejected.
Functions ¶
func NewTokenBucketLimiter ¶
func NewTokenBucketLimiter(tb *ratelimit.Bucket) endpoint.Middleware
NewTokenBucketLimiter returns an endpoint.Middleware that acts as a rate limiter based on a token-bucket algorithm. Requests that would exceed the maximum request rate are simply rejected with an error.
func NewTokenBucketThrottler ¶
NewTokenBucketThrottler returns an endpoint.Middleware that acts as a request throttler based on a token-bucket algorithm. Requests that would exceed the maximum request rate are delayed via the parameterized sleep function. By default you may pass time.Sleep.
Source Files ¶
- Version
- v0.3.0
- Published
- Nov 15, 2016
- Platform
- js/wasm
- Imports
- 5 packages
- Last checked
- 4 days ago –
Tools for package owners.