gin

package
v3.5.3 Latest Latest
Warning

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

Go to latest
Published: May 16, 2020 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultErrorHandler

func DefaultErrorHandler(c *gin.Context, err error)

DefaultErrorHandler is the default ErrorHandler used by a new Middleware.

func DefaultKeyGetter

func DefaultKeyGetter(c *gin.Context) string

DefaultKeyGetter is the default KeyGetter used by a new Middleware. It returns the Client IP address.

func DefaultLimitReachedHandler

func DefaultLimitReachedHandler(c *gin.Context)

DefaultLimitReachedHandler is the default LimitReachedHandler used by a new Middleware.

func NewMiddleware

func NewMiddleware(limiter *limiter.Limiter, options ...Option) gin.HandlerFunc

NewMiddleware return a new instance of a gin middleware.

Types

type ErrorHandler

type ErrorHandler func(c *gin.Context, err error)

ErrorHandler is an handler used to inform when an error has occurred.

type KeyGetter

type KeyGetter func(c *gin.Context) string

KeyGetter will define the rate limiter key given the gin Context.

type LimitReachedHandler

type LimitReachedHandler func(c *gin.Context)

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 gin.

func (*Middleware) Handle

func (middleware *Middleware) Handle(c *gin.Context)

Handle gin 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

func WithExcludedKey(handler func(string) bool) Option

WithExcludedKey will configure the Middleware to ignore key(s) using the given function.

func WithKeyGetter

func WithKeyGetter(handler KeyGetter) Option

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL