fasthttp

package
v3.0.0-...-d3f18d2 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2023 License: MIT Imports: 3 Imported by: 0

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

func WithExcludedKey(handler func(string) bool) Option

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

func WithKeyGetter

func WithKeyGetter(KeyGetter 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