Documentation
¶
Overview ¶
Package middleware allows adding custom middleware(s) to the RESTful API, such as, JWT based authentication.
Index ¶
- func PrometheusMiddleware(next http.Handler) http.Handler
- type Handler
- func HTTPRateLimiterMiddleware(logger logger.Logger, respWriter response.Writer, store limiter.Store) Handler
- func NewAuthenticationMiddleware(authenticator auth.Authenticator, respWriter response.Writer, ...) Handler
- func NewCSRFMiddleware(respWriter response.Writer, sessionManager auth.UserSessionManager, ...) Handler
- func NewCommonHeadersMiddleware(headers map[string]string) Handler
- func NewRequestIDMiddleware() Handler
- func NewRequireAuthenticatedCallerMiddleware(logger logger.Logger, respWriter response.Writer) Handler
- func NewSubjectMiddleware(logger log.Logger, respWriter response.Writer) Handler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type 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 ¶
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
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>".