ó
    |chÔ  ã                  óÜ   • S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SK
Jr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  SrSrSrSrSrSrSrSr " S S5      r g)é    )ÚannotationsN)Ú	Awaitable)ÚCallable)ÚSplitResult)Úurlsplit)Úiscoroutinefunction)Úmarkcoroutinefunction)ÚHttpRequest)ÚHttpResponse)ÚHttpResponseBase)Úpatch_vary_headers)Úconf)Úcheck_request_enabledzaccess-control-allow-originzaccess-control-expose-headersz access-control-allow-credentialszaccess-control-allow-headerszaccess-control-allow-methodszaccess-control-max-agez&access-control-request-private-networkz$access-control-allow-private-networkc                  óœ   • \ rS rSrSrSr    SS jr    SS jrSS jrSS jr	      SS jr
SS jrSS	 jrSS
 jrSS jrSS jrSrg)ÚCorsMiddlewareé   Tc                ó~   • Xl         [        U R                   5      U l        U R                  (       a  [        U 5        g g ©N)Úget_responser   Ú
async_moder	   )Úselfr   s     Ú_/var/www/djangovue.mamus.xyz/django/venv/lib/python3.13/site-packages/corsheaders/middleware.pyÚ__init__ÚCorsMiddleware.__init__!   s2   € ð )ÔÜ-¨d×.?Ñ.?Ó@ˆŒà�?�?ô " $Õ'ð	 ó    c                óè   • U R                   (       a  U R                  U5      $ U R                  U5      nUc*  U R                  U5      n[	        U[
        5      (       d   eUnU R                  X5        U$ r   )r   Ú	__acall__Úcheck_preflightr   Ú
isinstancer   Úadd_response_headers©r   ÚrequestÚresponseÚresults       r   Ú__call__ÚCorsMiddleware.__call__1   sl   € ð �?�?Ø—>‘> 'Ó*Ð*Ø,0×,@Ñ,@ÀÓ,IˆØÑØ×&Ñ& wÓ/ˆFÜ˜fÔ&6×7Ñ7Ð7Ð7ØˆHØ×!Ñ! 'Ô4Øˆr   c              ƒ  óÀ   #   • U R                  U5      nUc2  U R                  U5      n[        U[        5      (       a   eUI S h  v•N nU R	                  X5        U$  N7fr   )r   r   r   r   r    r!   s       r   r   ÚCorsMiddleware.__acall__>   s^   é € Ø×'Ñ'¨Ó0ˆØÑØ×&Ñ& wÓ/ˆFÜ! &Ô*:×;Ñ;Ð;Ð;Ø#—|ˆHØ×!Ñ! 'Ô4Øˆñ $ùs   ‚AAÁAÁAc                ó¨   • U R                  U5      Ul        UR                  (       a+  UR                  S:X  a  SUR                  ;   a  [	        SS0S9$ g)z2
Generate a response for CORS preflight requests.
ÚOPTIONSzaccess-control-request-methodzcontent-lengthÚ0)ÚheadersN)Ú
is_enabledÚ_cors_enabledÚmethodr,   r   ©r   r"   s     r   r   ÚCorsMiddleware.check_preflightG   sJ   € ð !%§¡°Ó 8ˆÔà×!×!Ø—‘ )Ó+Ø/°7·?±?ÓBäÐ)9¸3Ð(?Ñ@Ð@Ør   c                ó\  • [        USS5      nUc  U R                  U5      nU(       d  U$ [        US5        UR                  R	                  S5      nU(       d  U$  [        U5      n[        R                  (       d.  U R                  XE5      (       d  U R                  U5      (       d  U$ [        R                  (       a  [        R                  (       d
  SU[        '   OXB[        '   [        R                  (       a	  SU[        '   [        [        R                  5      (       a&  SR!                  [        R                  5      U["        '   UR$                  S:X  a�  SR!                  [        R&                  5      U[(        '   SR!                  [        R*                  5      U[,        '   [        R.                  (       a   [1        [        R.                  5      U[2        '   [        R4                  (       a,  UR                  R	                  [6        5      S:X  a	  SU[8        '   U$ ! [         a    Us $ f = f)	z!
Add the respective CORS headers
r.   N)Úoriginr3   Ú*Útruez, r*   )Úgetattrr-   r   r,   Úgetr   Ú
ValueErrorr   ÚCORS_ALLOW_ALL_ORIGINSÚorigin_found_in_white_listsÚcheck_signalÚCORS_ALLOW_CREDENTIALSÚACCESS_CONTROL_ALLOW_ORIGINÚ ACCESS_CONTROL_ALLOW_CREDENTIALSÚlenÚCORS_EXPOSE_HEADERSÚjoinÚACCESS_CONTROL_EXPOSE_HEADERSr/   ÚCORS_ALLOW_HEADERSÚACCESS_CONTROL_ALLOW_HEADERSÚCORS_ALLOW_METHODSÚACCESS_CONTROL_ALLOW_METHODSÚCORS_PREFLIGHT_MAX_AGEÚstrÚACCESS_CONTROL_MAX_AGEÚCORS_ALLOW_PRIVATE_NETWORKÚ&ACCESS_CONTROL_REQUEST_PRIVATE_NETWORKÚ$ACCESS_CONTROL_ALLOW_PRIVATE_NETWORK)r   r"   r#   Úenabledr3   Úurls         r   r    Ú#CorsMiddleware.add_response_headersT   s¦  € ô ˜' ?°DÓ9ˆØ‰?Ø—o‘o gÓ.ˆGæØˆOä˜8 [Ô1à—‘×$Ñ$ XÓ.ˆÞØˆOð	Ü˜6Ó"ˆCô
 ×+×+Ø×4Ñ4°V×AÑAØ×%Ñ% g×.Ñ.àˆOä×&×&¬t×/J×/JØ47ˆHÔ0Ò1à4:Ô0Ñ1ä×&×&Ø9?ˆHÔ5Ñ6äŒt×'Ñ'×(Ñ(Ø6:·i±iÜ×(Ñ(ó7ˆHÔ2Ñ3ð �>‰>˜YÓ&Ø59·Y±Y¼t×?VÑ?VÓ5WˆHÔ1Ñ2Ø59·Y±Y¼t×?VÑ?VÓ5WˆHÔ1Ñ2Ü×*×*Ü36´t×7RÑ7RÓ3S�Ô/Ñ0ô ×+×+Ø—‘×#Ñ#Ô$JÓKÈvÓUà=CˆHÔ9Ñ:àˆøôG ó 	ØŠOð	ús   ÁH ÈH+È*H+c                ó    • US:H  =(       a    U[         R                  ;   =(       d)    U R                  U5      =(       d    U R                  U5      $ )NÚnull)r   ÚCORS_ALLOWED_ORIGINSÚ_url_in_whitelistÚregex_domain_match)r   r3   rN   s      r   r:   Ú*CorsMiddleware.origin_found_in_white_listsŽ   sE   € à�vÑ×E &¬D×,EÑ,EÑ"E÷ /Ø×%Ñ% cÓ*÷/à×&Ñ& vÓ.ð	
r   c                óJ   ^• [        U4S j[        R                   5       5      $ )Nc              3  óR   >#   • U  H  n[         R                  " UT5      v •  M     g 7fr   )ÚreÚmatch)Ú.0Údomain_patternr3   s     €r   Ú	<genexpr>Ú4CorsMiddleware.regex_domain_match.<locals>.<genexpr>–   s&   øé € ð 
â"B�ô �HŠH�^ V×,Ð,Ú"Bùs   ƒ$')Úanyr   ÚCORS_ALLOWED_ORIGIN_REGEXES)r   r3   s    `r   rT   Ú!CorsMiddleware.regex_domain_match•   s#   ø€ Üô 
ä"&×"BÒ"Bó
ó 
ð 	
r   c                ó¢   • [        [        R                  " [        R                  UR
                  5      5      =(       d    U R                  U5      $ r   )ÚboolrX   rY   r   ÚCORS_URLS_REGEXÚ	path_infor;   r0   s     r   r-   ÚCorsMiddleware.is_enabled›   s<   € ÜÜ�HŠH”T×)Ñ)¨7×+<Ñ+<Ó=ó
÷ (à×Ñ˜wÓ'ð	(r   c                óP   • [         R                  " S US9n[        S U 5       5      $ )N)Úsenderr"   c              3  ó*   #   • U  H	  u  pUv •  M     g 7fr   © )rZ   ÚfunctionÚreturn_values      r   r\   Ú.CorsMiddleware.check_signal.<locals>.<genexpr>¢   s   é € ÐOÒ>NÑ$: H•<Ò>Nùs   ‚)r   Úsendr^   )r   r"   Úsignal_responsess      r   r;   ÚCorsMiddleware.check_signal    s'   € Ü0×5Ò5¸TÈ7ÑSÐÜÑOÑ>NÓOÓOÐOr   c                óŠ   ^• [         R                   Vs/ s H  n[        U5      PM     nn[        U4S jU 5       5      $ s  snf )Nc              3  ó–   >#   • U  H>  nUR                   TR                   :H  =(       a    UR                  TR                  :H  v •  M@     g 7fr   )ÚschemeÚnetloc)rZ   r3   rN   s     €r   r\   Ú3CorsMiddleware._url_in_whitelist.<locals>.<genexpr>¦   s:   øé € ð 
â!�ð �M‰M˜SŸZ™ZÑ'×G¨F¯M©M¸S¿Z¹ZÑ,GÔGÚ!ùs   ƒAA	)r   rR   r   r^   )r   rN   ÚoÚoriginss    `  r   rS   Ú CorsMiddleware._url_in_whitelist¤   sC   ø€ Ü(,×(AÒ(AÓBÒ(A 1”8˜A–;Ñ(AˆÐBÜô 
á!ó
ó 
ð 	
ùò Cs   ”A )r   r   N)r   z`Callable[[HttpRequest], HttpResponseBase] | Callable[[HttpRequest], Awaitable[HttpResponseBase]]ÚreturnÚNone)r"   r
   rx   z.HttpResponseBase | Awaitable[HttpResponseBase])r"   r
   rx   r   )r"   r
   rx   zHttpResponseBase | None)r"   r
   r#   r   rx   r   )r3   rH   rN   r   rx   rb   )r3   rH   rx   rb   )r"   r
   rx   rb   )rN   r   rx   rb   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úsync_capableÚasync_capabler   r%   r   r   r    r:   rT   r-   r;   rS   Ú__static_attributes__ri   r   r   r   r      s}   † Ø€LØ€Mð(ðCð(ð 
ô(ð Ø"ðà	7ôôôð8Ø"ð8Ø.>ð8à	ô8ôt
ô
ô(ô
P÷
r   r   )!Ú
__future__r   rX   Úcollections.abcr   Útypingr   Úurllib.parser   r   Úasgiref.syncr   r	   Údjango.httpr
   r   Údjango.http.responser   Údjango.utils.cacher   Úcorsheaders.confr   Úcorsheaders.signalsr   r=   rB   r>   rD   rF   rI   rK   rL   r   ri   r   r   Ú<module>r‹      sk   ðÝ "ã 	Ý %Ý Ý $Ý !å ,Ý .Ý #Ý $Ý 1Ý 1å !Ý 5à;Ð Ø ?Ð Ø#EÐ  Ø=Ð Ø=Ð Ø1Ð Ø)QÐ &Ø'MÐ $÷L
ò L
r   