middleware

package
v0.51.1 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: MPL-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package middleware allows adding custom middleware(s) to the RESTful API, such as, JWT based authentication.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrometheusMiddleware

func PrometheusMiddleware(next http.Handler) http.Handler

PrometheusMiddleware adds basic metrics to a handler

Types

type Handler

type Handler func(next http.Handler) http.Handler

Handler is used for returning middleware functions

func HTTPRateLimiterMiddleware

func HTTPRateLimiterMiddleware(
	logger logger.Logger,
	respWriter response.Writer,
	store limiter.Store,
) Handler

HTTPRateLimiterMiddleware creates a handler for HTTP rate limiting.

func NewAuthenticationMiddleware

func NewAuthenticationMiddleware(
	authenticator auth.Authenticator,
	respWriter response.Writer,
	userSessionManager auth.UserSessionManager,
) Handler

NewAuthenticationMiddleware resolves whether the caller has authenticated. If so, it sets the caller on the context. In either case, it sets the subject string on the context.

func NewCSRFMiddleware added in v0.42.0

func NewCSRFMiddleware(
	respWriter response.Writer,
	sessionManager auth.UserSessionManager,
	logger logger.Logger,
) Handler

NewCSRFMiddleware checks if this is a user session and verifies the CSRF token

func NewCommonHeadersMiddleware

func NewCommonHeadersMiddleware(
	headers map[string]string,
) Handler

NewCommonHeadersMiddleware creates an instance of CommonHeadersMiddleware

func NewRequestIDMiddleware added in v0.39.0

func NewRequestIDMiddleware() Handler

NewRequestIDMiddleware adds a request ID to the logger context

func NewRequireAuthenticatedCallerMiddleware

func NewRequireAuthenticatedCallerMiddleware(
	logger logger.Logger,
	respWriter response.Writer,
) Handler

NewRequireAuthenticatedCallerMiddleware requires an authenticated caller.

func NewSubjectMiddleware added in v0.39.0

func NewSubjectMiddleware(
	logger log.Logger,
	respWriter response.Writer,
) Handler

NewSubjectMiddleware creates a middleware that sets the subject in the context. If the request is authenticated, the subject is taken from the Caller. If not authenticated, the subject is set to "anonymous-<IP_ADDRESS>".

Jump to

Keyboard shortcuts

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