ó
    †>iP  ã                   óp   • S r SSKJr  SSKJr  SSKJrJr   " S S\R                  5      r	 " S S	\	5      r
g
)z-The module containing the code for GuessAuth.é    )Úauth)Úcookiesé   )Ú_digest_auth_compatÚhttp_proxy_digestc                   ó6   • \ rS rSrSrS rS rS rS rS r	Sr
g	)
Ú	GuessAuthé	   z7Guesses the auth type by the WWW-Authentication header.c                 ó8   • Xl         X l        S U l        S U l        g ©N)ÚusernameÚpasswordr   Úpos)Úselfr   r   s      ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/requests_toolbelt/auth/guess.pyÚ__init__ÚGuessAuth.__init__   s   € Ø ŒØ ŒØˆŒ	Øˆ�ó    c                 óô  • U R                   b/  UR                  R                  R                  U R                   5        UR                    UR
                  R                  5         UR                  R                  5       n[        US5      (       d  [        R                  " 5       Ul        [        R                  " UR                  UR                  UR
                  5        UR                  UR                  5        [        R                  " U R                   U R"                  5      U l        U R                  U5      nUR$                  R&                  " U40 UD6nUR(                  R+                  U5        X4l        U$ ©NÚ_cookies)r   ÚrequestÚbodyÚseekÚcontentÚrawÚrelease_connÚcopyÚhasattrr   ÚRequestsCookieJarr   Úextract_cookies_to_jarÚprepare_cookiesr   ÚHTTPBasicAuthr   r   Ú
connectionÚsendÚhistoryÚappend©r   ÚrÚkwargsÚprepÚ_rs        r   Ú_handle_basic_auth_401Ú GuessAuth._handle_basic_auth_401   sú   € Ø�8‰8ÑØ�I‰I�N‰N×Ñ §¡Ô)ð 	
�	Š	Ø	�‰×ÑÔØ�y‰y�~‰~ÓˆÜ�t˜Z×(Ñ(Ü#×5Ò5Ó7ˆDŒMÜ×&Ò& t§}¡}°a·i±iÀÇÁÔGØ×Ñ˜TŸ]™]Ô+ä×&Ò& t§}¡}°d·m±mÓDˆŒ	Ø�y‰y˜‹ˆØ�\‰\×Ò˜tÑ. vÑ.ˆØ
�
‰
×Ñ˜!ÔØŒ
àˆ	r   c                 óx  • [         R                  " U R                  U R                  5      U l         U R                  R                  5         [        U R                  S5      (       a(  U R                  R                  c  SU R                  l        U R                  R                  " U40 UD6$ ! [         a     Nlf = f)NÚnum_401_callsr   )
Úauth_compatÚHTTPDigestAuthr   r   r   Úinit_per_thread_stateÚAttributeErrorr   r0   Ú
handle_401©r   r)   r*   s      r   Ú_handle_digest_auth_401Ú!GuessAuth._handle_digest_auth_401'   s”   € Ü×.Ò.¨t¯}©}¸d¿m¹mÓLˆŒ	ð	Ø�I‰I×+Ñ+Ô-ô �D—I‘I˜×/Ñ/Ø—	‘	×'Ñ'Ñ/Ø&'ˆD�I‰IÔ#ð �y‰y×#Ò# AÑ0¨Ñ0Ð0øô ó 	ñ ð	ús   ²B, Â,
B9Â8B9c                 ó´   • UR                   R                  SS5      R                  5       nSU;   a  U R                  X5      $ SU;   a  U R	                  X5      $ g)z/Resends a request with auth headers, if needed.zwww-authenticateÚ ÚbasicÚdigestN)ÚheadersÚgetÚlowerr-   r7   )r   r)   r*   Úwww_authenticates       r   r5   ÚGuessAuth.handle_401:   s\   € ð Ÿ9™9Ÿ=™=Ð);¸RÓ@×FÑFÓHÐàÐ&Ó&Ø×.Ñ.¨qÓ9Ð9àÐ'Ó'Ø×/Ñ/°Ó:Ð:ð (r   c                 óÚ   • U R                   b  U R                  U5      $  UR                  R                  5       U l        UR                  SU R                  5        U$ ! [         a     N*f = f©NÚresponse)r   r   Útellr   r4   Úregister_hookr5   )r   r   s     r   Ú__call__ÚGuessAuth.__call__E   sc   € Ø�9‰9Ñ Ø—9‘9˜WÓ%Ð%ð	Ø—|‘|×(Ñ(Ó*ˆDŒHð 	×Ñ˜j¨$¯/©/Ô:Øˆøô	 ó 	Ùð	ús    A Á
A*Á)A*)r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r-   r7   r5   rG   Ú__static_attributes__© r   r   r	   r	   	   s   † ÙAòòò,1ò&	;õ
r   r	   c                   óR   ^ • \ rS rSrSr  S	U 4S jjrS rS rS rU 4S jr	Sr
U =r$ )
ÚGuessProxyAuthéR   zN
Guesses the auth type by WWW-Authentication and Proxy-Authentication
headers
c                 óR   >• [         [        U ]  X5        X0l        X@l        S U l        g r   )ÚsuperrQ   r   Úproxy_usernameÚproxy_passwordÚ
proxy_auth)r   r   r   rU   rV   Ú	__class__s        €r   r   ÚGuessProxyAuth.__init__W   s%   ø€ äŒn˜dÑ,¨XÔ@Ø,ÔØ,ÔØˆ�r   c                 óô  • U R                   b/  UR                  R                  R                  U R                   5        UR                    UR
                  R                  5         UR                  R                  5       n[        US5      (       d  [        R                  " 5       Ul        [        R                  " UR                  UR                  UR
                  5        UR                  UR                  5        [        R                  " U R                   U R"                  5      U l        U R%                  U5      nUR&                  R(                  " U40 UD6nUR*                  R-                  U5        X4l        U$ r   )r   r   r   r   r   r   r   r   r   r   r    r   r!   r"   r   ÚHTTPProxyAuthrU   rV   rW   r$   r%   r&   r'   r(   s        r   Ú_handle_basic_auth_407Ú%GuessProxyAuth._handle_basic_auth_407^   s  € Ø�8‰8ÑØ�I‰I�N‰N×Ñ §¡Ô)à	�	Š	Ø	�‰×ÑÔØ�y‰y�~‰~ÓˆÜ�t˜Z×(Ñ(Ü#×5Ò5Ó7ˆDŒMÜ×&Ò& t§}¡}°a·i±iÀÇÁÔGØ×Ñ˜TŸ]™]Ô+ä×,Ò,¨T×-@Ñ-@Ø-1×-@Ñ-@óBˆŒà�‰˜tÓ$ˆØ�\‰\×Ò˜tÑ. vÑ.ˆØ
�
‰
×Ñ˜!ÔØŒ
àˆ	r   c                 óî   • [         R                  " U R                  U R                  S9U l         U R
                  R                  5         U R                  R                  " U40 UD6$ ! [         a     N)f = f)N)r   r   )	r   ÚHTTPProxyDigestAuthrU   rV   rW   r   r3   r4   Ú
handle_407r6   s      r   Ú_handle_digest_auth_407Ú&GuessProxyAuth._handle_digest_auth_407s   sk   € Ü+×?Ò?Ø×(Ñ(Ø×(Ñ(ñ*ˆŒð	Ø�I‰I×+Ñ+Ô-ð �‰×)Ò)¨!Ñ6¨vÑ6Ð6øô ó 	Ùð	ús   °A' Á'
A4Á3A4c                 ó´   • UR                   R                  SS5      R                  5       nSU;   a  U R                  X5      $ SU;   a  U R	                  X5      $ g )NzProxy-Authenticater:   r;   r<   )r=   r>   r?   r\   ra   )r   r)   r*   Úproxy_authenticates       r   r`   ÚGuessProxyAuth.handle_407   sZ   € ØŸY™YŸ]™]Ð+?ÀÓD×JÑJÓLÐàÐ(Ó(Ø×.Ñ.¨qÓ9Ð9àÐ)Ó)Ø×/Ñ/°Ó:Ð:ð *r   c                 óþ   >• U R                   b  U R                  U5      n UR                  R                  5       U l        UR                  SU R                  5        [        [        U ]'  U5      $ ! [         a     N;f = frC   )
rW   r   rE   r   r4   rF   r`   rT   rQ   rG   )r   r   rX   s     €r   rG   ÚGuessProxyAuth.__call__ˆ   sp   ø€ Ø�?‰?Ñ&Ø—o‘o gÓ.ˆGð	Ø—|‘|×(Ñ(Ó*ˆDŒHð 	×Ñ˜j¨$¯/©/Ô:Ü”^ TÑ3°GÓ<Ð<øô	 ó 	Ùð	ús   ¡A/ Á/
A<Á;A<)r   rW   rV   rU   )NNNN)rI   rJ   rK   rL   rM   r   r\   ra   r`   rG   rN   Ú__classcell__)rX   s   @r   rQ   rQ   R   s.   ø† ñð 04Ø59÷òò*
7ò;÷
=ó 
=r   rQ   N)rM   Úrequestsr   r   r:   r   r1   r   ÚAuthBaser	   rQ   rO   r   r   Ú<module>rk      s2   ðá 3Ý Ý ç CôF�—‘ô FôR@=�Yõ @=r   