Version: v2.2.2+incompatible Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2018 License: MIT Imports: 3 Imported by: 0




This section is empty.


This section is empty.


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.


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.

func (*Middleware) Handler

func (middleware *Middleware) Handler(h http.Handler) http.Handler

Handler the middleware handler.

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

func WithForwardHeader(trusted bool) Option

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL