
    `?i                     L    d dl mZ d dlmZmZmZ d dlmZ d Z G d de      Z	y)    )settings)CSP	LazyNoncebuild_policy)MiddlewareMixinc                     t        | dd       S )N
_csp_nonce)getattr)requests    g/home/cursorai/projects/django-cronjob-utils/venv/lib/python3.12/site-packages/django/middleware/csp.py	get_noncer      s    7L$//    c                       e Zd Zd Zd Zy)ContentSecurityPolicyMiddlewarec                 "    t               |_        y )N)r   r	   )selfr   s     r   process_requestz/ContentSecurityPolicyMiddleware.process_request   s    &[r   c                 `   t        |      }t               }t        |d|      x}|u rt        j                  }t        |d|      x}|u rt        j
                  }t        j                  |ft        j                  |ffD ]/  \  }}|s	||vst        ||      |j                  t        |      <   1 |S )N_csp_config_csp_ro_config)r   objectr
   r   
SECURE_CSPSECURE_CSP_REPORT_ONLYr   HEADER_ENFORCEHEADER_REPORT_ONLYr   headersstr)	r   r   responsenoncesentinel
csp_configcsp_ro_configheaderconfigs	            r   process_responsez0ContentSecurityPolicyMiddleware.process_response   s    '"8!(M8DDJQ!,,J$X/?JJMxW$;;M ,##]3
NFF &00<VU0K  V-
 r   N)__name__
__module____qualname__r   r%    r   r   r   r   
   s    )r   r   N)
django.confr   django.utils.cspr   r   r   django.utils.deprecationr   r   r   r)   r   r   <module>r-      s"      9 9 40o r   