Documentation ¶
Index ¶
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 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 TrustForwardHeader 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 WithForwardHeader ¶
WithForwardHeader will configure the Middleware to trust X-Real-IP and X-Forwarded-For headers.
func WithLimitReachedHandler ¶
func WithLimitReachedHandler(handler LimitReachedHandler) Option
WithLimitReachedHandler will configure the Middleware to use the given LimitReachedHandler.