a Æ*NaPã@sRdZddlmZddlmZddlmZmZGdd„dejƒZ Gdd „d e ƒZ d S) z-The module containing the code for GuessAuth.é)Úauth)Úcookiesé)Ú_digest_auth_compatÚhttp_proxy_digestc@s8eZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd S) Ú GuessAuthz7Guesses the auth type by the WWW-Authentication header.cCs||_||_d|_d|_dS©N)ÚusernameÚpasswordrÚpos)Úselfr r ©r úw/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/requests_toolbelt/auth/guess.pyÚ__init__ szGuessAuth.__init__cCs®|jdur|jj |j¡|j|j ¡|j ¡}t|dƒsHt   ¡|_ t   |j |j|j¡|  |j ¡t |j|j¡|_| |¡}|jj|fi|¤Ž}|j |¡||_|S©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Ú_rr r rÚ_handle_basic_auth_401s        z GuessAuth._handle_basic_auth_401cCsht |j|j¡|_z|j ¡Wnty2Yn0t|jdƒrT|jjdurTd|j_|jj |fi|¤ŽS)NÚ num_401_callsr) Ú auth_compatÚHTTPDigestAuthr r rÚinit_per_thread_stateÚAttributeErrorrr(Ú handle_401©r r#r$r r rÚ_handle_digest_auth_401's   ÿz!GuessAuth._handle_digest_auth_401cKs>|j dd¡ ¡}d|vr&| ||¡Sd|vr:| ||¡SdS)z/Resends a request with auth headers, if needed.zwww-authenticateÚÚbasicÚdigestN)ÚheadersÚgetÚlowerr'r/)r r#r$Zwww_authenticater r rr-:s  zGuessAuth.handle_401cCsJ|jdur| |¡Sz|j ¡|_Wnty6Yn0| d|j¡|S©NÚresponse)rrÚtellr r,Ú register_hookr-©r rr r rÚ__call__Es   zGuessAuth.__call__N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rr'r/r-r;r r r rr s  rcsFeZdZdZd ‡fdd„ Zdd„Zdd„Zd d „Z‡fd d „Z‡Z S)ÚGuessProxyAuthzZ Guesses the auth type by WWW-Authentication and Proxy-Authentication headers Ncs(tt|ƒ ||¡||_||_d|_dSr)Úsuperr@rÚproxy_usernameÚproxy_passwordÚ proxy_auth)r r r rBrC©Ú __class__r rrWszGuessProxyAuth.__init__cCs®|jdur|jj |j¡|j|j ¡|j ¡}t|dƒsHt   ¡|_ t   |j |j|j¡|  |j ¡t |j|j¡|_| |¡}|jj|fi|¤Ž}|j |¡||_|Sr)r rrrrrrrrrrrrrrÚ HTTPProxyAuthrBrCrDrrr r!r"r r rÚ_handle_basic_auth_407^s"      ÿ  z%GuessProxyAuth._handle_basic_auth_407cCsJtj|j|jd|_z|j ¡Wnty4Yn0|jj|fi|¤ŽS)N)r r ) rZHTTPProxyDigestAuthrBrCrDrr+r,Ú handle_407r.r r rÚ_handle_digest_auth_407ssþ z&GuessProxyAuth._handle_digest_auth_407cKs>|j dd¡ ¡}d|vr&| ||¡Sd|vr:| ||¡SdS)NzProxy-Authenticater0r1r2)r3r4r5rHrJ)r r#r$Zproxy_authenticater r rrIs  zGuessProxyAuth.handle_407csV|jdur| |¡}z|j ¡|_Wnty6Yn0| d|j¡tt|ƒ  |¡Sr6) rDrr8r r,r9rIrAr@r;r:rEr rr;ˆs   zGuessProxyAuth.__call__)NNNN) r<r=r>r?rrHrJrIr;Ú __classcell__r r rErr@Rsÿ  r@N) r?Úrequestsrrr0rr)rÚAuthBaserr@r r r rÚs   I