package ratelimit
import "github.com/go-kit/kit/ratelimit"
Index ¶
- Variables
- func NewDelayingLimiter(limit Waiter) endpoint.Middleware
- func NewErroringLimiter(limit Allower) endpoint.Middleware
- type Allower
- type AllowerFunc
- type Waiter
- type WaiterFunc
Variables ¶
ErrLimited is returned in the request path when the rate limiter is triggered and the request is rejected.
Functions ¶
func NewDelayingLimiter ¶
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 ¶
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.
Types ¶
type Allower ¶
type Allower interface { Allow() bool }
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.
type AllowerFunc ¶
type AllowerFunc func() bool
AllowerFunc is an adapter that lets a function operate as if it implements Allower
func (AllowerFunc) Allow ¶
func (f AllowerFunc) Allow() bool
Allow makes the adapter implement Allower
type Waiter ¶
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.
type WaiterFunc ¶
WaiterFunc is an adapter that lets a function operate as if it implements Waiter
func (WaiterFunc) Wait ¶
func (f WaiterFunc) Wait(ctx context.Context) error
Wait makes the adapter implement Waiter
Source Files ¶
- Version
- v0.13.0 (latest)
- Published
- May 29, 2023
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 2 days ago –
Tools for package owners.