Documentation ¶
Index ¶
- func DefaultErrorHandler(w http.ResponseWriter, r *http.Request, err error)
- func DefaultKeyGetter(limiter *limiter.Limiter) func(r *http.Request) string
- func DefaultLimitReachedHandler(w http.ResponseWriter, r *http.Request)
- type ErrorHandler
- type KeyGetter
- type LimitReachedHandler
- type Middleware
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultErrorHandler ¶
func DefaultErrorHandler(w http.ResponseWriter, r *http.Request, err error)
DefaultErrorHandler is the default ErrorHandler used by a new Middleware.
func DefaultKeyGetter ¶ added in v3.10.0
DefaultKeyGetter is the default KeyGetter used by a new Middleware. It returns the Client IP address.
func DefaultLimitReachedHandler ¶
func DefaultLimitReachedHandler(w http.ResponseWriter, r *http.Request)
DefaultLimitReachedHandler is the default LimitReachedHandler used by a new Middleware.
Types ¶
type ErrorHandler ¶
type ErrorHandler func(w http.ResponseWriter, r *http.Request, err error)
ErrorHandler is an handler used to inform when an error has occurred.
type LimitReachedHandler ¶
type LimitReachedHandler func(w http.ResponseWriter, r *http.Request)
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 basic http.Handler.
func NewMiddleware ¶
func NewMiddleware(limiter *limiter.Limiter, options ...Option) *Middleware
NewMiddleware return a new instance of a basic HTTP middleware.
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 ¶ added in v3.10.0
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.