server.web.middleware.security_headers

Middleware for security.

From: https://github.com/tiangolo/fastapi/issues/4420#issuecomment-1234146365

Attributes

swagger_bundle_shasum

CSP

Classes

SecurityHeadersMiddleware

Add security headers to all responses.

Functions

parse_policy(→ str)

Parse a given policy dict to string.

Module Contents

server.web.middleware.security_headers.swagger_bundle_shasum = 'sha256-eV3QMumkWxytVHa/LDvu+mnW+PcSAEI4SfFu0iIlbDc='
server.web.middleware.security_headers.CSP: dict[str, str | List[str]]
server.web.middleware.security_headers.parse_policy(policy: dict[str, str | List[str]] | str) str

Parse a given policy dict to string.

class server.web.middleware.security_headers.SecurityHeadersMiddleware(app: fastapi.FastAPI, csp: bool = True)

Bases: starlette.middleware.base.BaseHTTPMiddleware

Add security headers to all responses.

Init SecurityHeadersMiddleware.

Parameters:
  • app – FastAPI instance

  • no_csp – If no CSP should be used; defaults to False

csp = True
async dispatch(request: fastapi.Request, call_next: starlette.middleware.base.RequestResponseEndpoint) fastapi.Response

Dispatch of the middleware.

Parameters:
  • request – Incoming request

  • call_next – Function to process the request

Returns:

Return response coming from processed request