import "github.com/go-kit/kit/ratelimit"
ErrLimited is returned in the request path when the rate limiter is triggered and the request is rejected.
func NewDelayingLimiter(limit Waiter) endpoint.Middleware
NewDelayingLimiter returns an endpoint.Middleware that acts as a request throttler. Requests that would exceed the maximum request rate are delayed via the Waiter function
func NewErroringLimiter(limit Allower) endpoint.Middleware
NewErroringLimiter returns an endpoint.Middleware that acts as a rate limiter. Requests that would exceed the maximum request rate are simply rejected with an error.
Allower dictates whether or not a request is acceptable to run. The Limiter from "golang.org/x/time/rate" already implements this interface, one is able to use that in NewErroringLimiter without any modifications.
AllowerFunc is an adapter that lets a function operate as if it implements Allower
func (f AllowerFunc) Allow() bool
Allow makes the adapter implement Allower
Waiter dictates how long a request must be delayed. The Limiter from "golang.org/x/time/rate" already implements this interface, one is able to use that in NewDelayingLimiter without any modifications.
WaiterFunc is an adapter that lets a function operate as if it implements Waiter
func (f WaiterFunc) Wait(ctx context.Context) error
Wait makes the adapter implement Waiter
Package ratelimit imports 3 packages (graph) and is imported by 115 packages. Updated 2019-12-27. Refresh now. Tools for package owners.