middleware

package
v0.0.0-...-7b985c9 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TracingMiddleware

func TracingMiddleware(next http.Handler) http.Handler

Types

type MetricsMiddleware

type MetricsMiddleware struct {
	Histogram metrics.Histogram
	Counter   metrics.Counter
	// contains filtered or unexported fields
}

func PrometheusMetricsMiddleware

func PrometheusMetricsMiddleware(host string) *MetricsMiddleware

func (*MetricsMiddleware) Handler

func (p *MetricsMiddleware) Handler(next http.Handler) http.Handler

type Options

type Options struct {
	// amount of tokens available per sessions.
	Tokens int
	// session lenght
	Every time.Duration
	// redis connection url. ie: "localhost:6379"
	RedisAddr string
	// redis password
	Passwd string
}

type RateLimiter

type RateLimiter interface {
	Allow(ctx context.Context, user string) bool
}

type RateLimiterMiddleware

type RateLimiterMiddleware struct {
	// contains filtered or unexported fields
}

func NewRateLimiterMiddleware

func NewRateLimiterMiddleware(opt *Options) *RateLimiterMiddleware

NewRateLimiterMiddleware creates a new http middleware that honors the provided limit.

func (*RateLimiterMiddleware) Handler

func (p *RateLimiterMiddleware) Handler(next http.Handler) http.Handler

Jump to

Keyboard shortcuts

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