server.web.middleware.security_headers ====================================== .. py:module:: server.web.middleware.security_headers .. autoapi-nested-parse:: Middleware for security. From: https://github.com/tiangolo/fastapi/issues/4420#issuecomment-1234146365 Attributes ---------- .. autoapisummary:: server.web.middleware.security_headers.swagger_bundle_shasum server.web.middleware.security_headers.CSP Classes ------- .. autoapisummary:: server.web.middleware.security_headers.SecurityHeadersMiddleware Functions --------- .. autoapisummary:: server.web.middleware.security_headers.parse_policy Module Contents --------------- .. py:data:: swagger_bundle_shasum :value: 'sha256-eV3QMumkWxytVHa/LDvu+mnW+PcSAEI4SfFu0iIlbDc=' .. py:data:: CSP :type: dict[str, Union[str, List[str]]] .. py:function:: parse_policy(policy: Union[dict[str, Union[str, List[str]]], str]) -> str Parse a given policy dict to string. .. py:class:: SecurityHeadersMiddleware(app: fastapi.FastAPI, csp: bool = True) Bases: :py:obj:`starlette.middleware.base.BaseHTTPMiddleware` Add security headers to all responses. Init SecurityHeadersMiddleware. :param app: FastAPI instance :param no_csp: If no CSP should be used; defaults to :py:obj:`False` .. py:attribute:: csp :value: True .. py:method:: dispatch(request: fastapi.Request, call_next: starlette.middleware.base.RequestResponseEndpoint) -> fastapi.Response :async: Dispatch of the middleware. :param request: Incoming request :param call_next: Function to process the request :return: Return response coming from processed request