File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
plain/plain/internal/middleware Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -13,8 +13,15 @@ class DefaultHeadersMiddleware(HttpMiddleware):
1313 def process_request (self , request : Request ) -> Response :
1414 response = self .get_response (request )
1515
16- for header , value in settings .DEFAULT_RESPONSE_HEADERS .items ():
17- # Since we don't have a good way to *remote* default response headers,
16+ # Support callable DEFAULT_RESPONSE_HEADERS for dynamic header generation
17+ # (e.g., CSP nonces that change per request)
18+ if callable (settings .DEFAULT_RESPONSE_HEADERS ):
19+ default_headers = settings .DEFAULT_RESPONSE_HEADERS (request )
20+ else :
21+ default_headers = settings .DEFAULT_RESPONSE_HEADERS
22+
23+ for header , value in default_headers .items ():
24+ # Since we don't have a good way to *remove* default response headers,
1825 # use allow users to set them to an empty string to indicate they should be removed.
1926 if header in response .headers and response .headers [header ] == "" :
2027 del response .headers [header ]
You can’t perform that action at this time.
0 commit comments