middleware

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Authentication added in v0.0.6

func Authentication(next http.Handler) http.Handler

Authentication middleware validates API keys and manages authentication

func CORS

func CORS(next http.Handler) http.Handler

CORS handles Cross-Origin Resource Sharing

func Logging added in v0.0.7

func Logging(logger *zap.Logger) func(http.Handler) http.Handler

Logging middleware logs request and response details

func PanicRecovery

func PanicRecovery(next http.Handler) http.Handler

PanicRecovery recovers from panics and returns a 500 error

func PrometheusMetrics added in v0.0.9

func PrometheusMetrics(m *metrics.Metrics) func(next http.Handler) http.Handler

PrometheusMetrics middleware records HTTP metrics using Prometheus.

func RateLimit added in v0.0.6

func RateLimit(metrics *metrics.Metrics) func(http.Handler) http.Handler

RateLimit creates a new rate limit middleware with metrics

func Recovery added in v0.0.7

func Recovery(logger *zap.Logger) func(http.Handler) http.Handler

Recovery middleware recovers from panics and logs the error

func RequestID

func RequestID(next http.Handler) http.Handler

RequestID middleware adds a unique request ID to the context

func RequestTimer

func RequestTimer(next http.Handler) http.Handler

RequestTimer measures request processing time

func ResetRateLimiters added in v0.0.7

func ResetRateLimiters()

ResetRateLimiters resets all rate limiters. Only used for testing.

func Timeout added in v0.0.7

func Timeout(timeout time.Duration) func(http.Handler) http.Handler

Timeout middleware adds a timeout to the request context

Types

type ResponseWriter added in v0.0.7

type ResponseWriter struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

ResponseWriter wraps http.ResponseWriter to capture status code and size

func NewResponseWriter added in v0.0.7

func NewResponseWriter(w http.ResponseWriter) *ResponseWriter

NewResponseWriter creates a new ResponseWriter

func (*ResponseWriter) Size added in v0.0.7

func (w *ResponseWriter) Size() int64

Size returns the response size

func (*ResponseWriter) Status added in v0.0.7

func (w *ResponseWriter) Status() int

Status returns the status code

func (*ResponseWriter) Write added in v0.0.7

func (w *ResponseWriter) Write(b []byte) (int, error)

func (*ResponseWriter) WriteHeader added in v0.0.7

func (w *ResponseWriter) WriteHeader(status int)

Jump to

Keyboard shortcuts

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