Ë
    ¹ûàg'
  ã                   óF   — d dl Z d dlmZ d dlmZ d dlmZ  G d„ de«      Zy)é    N)Úsettings)ÚHttpResponsePermanentRedirect)ÚMiddlewareMixinc                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚSecurityMiddlewarec                 óê  •— t         ‰| �  |«       t        j                  | _        t        j
                  | _        t        j                  | _        t        j                  | _
        t        j                  | _        t        j                  | _        t        j                  D �cg c]  }t!        j"                  |«      ‘Œ c}| _        t        j&                  | _        t        j*                  | _        y c c}w ©N)ÚsuperÚ__init__r   ÚSECURE_HSTS_SECONDSÚsts_secondsÚSECURE_HSTS_INCLUDE_SUBDOMAINSÚsts_include_subdomainsÚSECURE_HSTS_PRELOADÚsts_preloadÚSECURE_CONTENT_TYPE_NOSNIFFÚcontent_type_nosniffÚSECURE_SSL_REDIRECTÚredirectÚSECURE_SSL_HOSTÚredirect_hostÚSECURE_REDIRECT_EXEMPTÚreÚcompileÚredirect_exemptÚSECURE_REFERRER_POLICYÚreferrer_policyÚ!SECURE_CROSS_ORIGIN_OPENER_POLICYÚcross_origin_opener_policy)ÚselfÚget_responseÚrÚ	__class__s      €úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/middleware/security.pyr   zSecurityMiddleware.__init__	   s¦   ø€ Ü‰Ñ˜Ô&Ü#×7Ñ7ˆÔÜ&.×&MÑ&MˆÔ#Ü#×7Ñ7ˆÔÜ$,×$HÑ$HˆÔ!Ü ×4Ñ4ˆŒÜ%×5Ñ5ˆÔÜ7?×7VÑ7VÖW°!¤§
¡
¨1¥ÒWˆÔÜ'×>Ñ>ˆÔÜ*2×*TÑ*TˆÕ'ùò  Xs   Â!C0c                 ó,  ‡— |j                   j                  d«      Š| j                  rl|j                  «       s[t	        ˆfd„| j
                  D «       «      s<| j                  xs |j                  «       }t        d|›|j                  «       ›�«      S y y y )Nú/c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr	   )Úsearch)Ú.0ÚpatternÚpaths     €r$   ú	<genexpr>z5SecurityMiddleware.process_request.<locals>.<genexpr>   s   øè ø€ ÒQ°˜Ÿ™ t×,ÑQùs   ƒzhttps://)
r+   Úlstripr   Ú	is_secureÚanyr   r   Úget_hostr   Úget_full_path)r    ÚrequestÚhostr+   s      @r$   Úprocess_requestz"SecurityMiddleware.process_request   s…   ø€ Ø�|‰|×"Ñ" 3Ó'ˆà�MŠMØ×%Ñ%Ô'ÜÓQ¸D×<PÑ<PÔQÔQà×%Ñ%Ò;¨×)9Ñ)9Ó);ˆDÝ0Ù"&¨×(=Ñ(=Ô(?Ð@óð ð Rð (ð ó    c           
      ó”  — | j                   rT|j                  «       rDd|vr@d| j                   z  }| j                  r|dz  }| j                  r|dz  }||j                  d<   | j
                  r|j                  j                  dd«       | j                  r†|j                  j                  ddj                  t        | j                  t        «      r7| j                  j                  d«      D �cg c]  }|j                  «       ‘Œ c}n| j                  «      «       | j                  r|j                  d	| j                  «       |S c c}w )
NzStrict-Transport-Securityz
max-age=%sz; includeSubDomainsz	; preloadzX-Content-Type-OptionsÚnosniffzReferrer-Policyú,zCross-Origin-Opener-Policy)r   r.   r   r   Úheadersr   Ú
setdefaultr   ÚjoinÚ
isinstanceÚstrÚsplitÚstripr   )r    r2   ÚresponseÚ
sts_headerÚvs        r$   Úprocess_responsez#SecurityMiddleware.process_response!   s'  € à×ÒØ×!Ñ!Ô#Ø+°8Ñ;à%¨×(8Ñ(8Ñ8ˆJØ×*Ò*ØÐ3Ñ3�
Ø×ÒØ˜kÑ)�
Ø<FˆH×ÑÐ8Ñ9à×$Ò$Ø×Ñ×'Ñ'Ð(@À)ÔLà×Òð ×Ñ×'Ñ'Ø!Ø—‘ä! $×"6Ñ"6¼Ô<ð )-×(<Ñ(<×(BÑ(BÀ3Ó(GÖH 1�Q—W‘W•YÓHà×-Ñ-óôð ×*Ò*Ø×ÑØ,Ø×/Ñ/ôð ˆùò Is   Ã-E)Ú__name__Ú
__module__Ú__qualname__r   r4   rC   Ú__classcell__)r#   s   @r$   r   r      s   ø„ ô
Uò
ö!r5   r   )r   Údjango.confr   Údjango.httpr   Údjango.utils.deprecationr   r   © r5   r$   ú<module>rL      s   ðÛ 	å  Ý 5Ý 4ô:˜õ :r5   