Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultErrorHandler ¶
func DefaultErrorHandler(ctx *fasthttp.RequestCtx, err error)
DefaultErrorHandler is the default ErrorHandler used by a new Middleware.
func DefaultKeyGetter ¶
func DefaultKeyGetter(ctx *fasthttp.RequestCtx) string
DefaultKeyGetter is the default KeyGetter used by a new Middleware. It returns the Client IP address.
func DefaultLimitReachedHandler ¶
func DefaultLimitReachedHandler(ctx *fasthttp.RequestCtx)
DefaultLimitReachedHandler is the default LimitReachedHandler used by a new Middleware.
Types ¶
type ErrorHandler ¶
type ErrorHandler func(ctx *fasthttp.RequestCtx, err error)
ErrorHandler is an handler used to inform when an error has occurred.
type KeyGetter ¶
type KeyGetter func(ctx *fasthttp.RequestCtx) string
KeyGetter will define the rate limiter key given the fasthttp Context.
type LimitReachedHandler ¶
type LimitReachedHandler func(ctx *fasthttp.RequestCtx)
LimitReachedHandler is an handler used to inform when the limit has exceeded.
type Middleware ¶
type Middleware struct { Limiter *limiter.Limiter OnError ErrorHandler OnLimitReached LimitReachedHandler KeyGetter KeyGetter ExcludedKey func(string) bool }
Middleware is the middleware for fasthttp.
func NewMiddleware ¶
func NewMiddleware(limiter *limiter.Limiter, options ...Option) *Middleware
NewMiddleware return a new instance of a fasthttp middleware.
func (*Middleware) Handle ¶
func (middleware *Middleware) Handle(next fasthttp.RequestHandler) fasthttp.RequestHandler
Handle fasthttp request.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option is used to define Middleware configuration.
func WithErrorHandler ¶
func WithErrorHandler(handler ErrorHandler) Option
WithErrorHandler will configure the Middleware to use the given ErrorHandler.
func WithExcludedKey ¶ added in v3.5.0
WithExcludedKey will configure the Middleware to ignore key(s) using the given function.
func WithKeyGetter ¶
WithKeyGetter will configure the Middleware to use the given KeyGetter.
func WithLimitReachedHandler ¶
func WithLimitReachedHandler(handler LimitReachedHandler) Option
WithLimitReachedHandler will configure the Middleware to use the given LimitReachedHandler.