PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc

a

��Re�'�@s�dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZmZddl
mZddlmZddlmZd	Zd
Zdd�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)z]
requests.auth
~~~~~~~~~~~~~

This module contains the authentication handlers for Requests.
�N)�	b64encode�)�urlparse�str�
basestring)�extract_cookies_to_jar)�to_native_string)�parse_dict_headerz!application/x-www-form-urlencodedzmultipart/form-datacCs�t|t�s&tjd�|�td�t|�}t|t�sPtjd�t|��td�t|�}t|t�rd|�d�}t|t�rx|�d�}dt	t
d�||f�����}|S)zReturns a Basic Auth string.z�Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.)�categoryz�Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.�latin1zBasic �:)
�
isinstancer�warnings�warn�format�DeprecationWarningr�type�encoderr�join�strip)�username�password�authstr�r��/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/requests/auth.py�_basic_auth_strs0

��
��



�rc@seZdZdZdd�ZdS)�AuthBasez4Base class that all auth implementations derive fromcCstd��dS)NzAuth hooks must be callable.)�NotImplementedError��self�rrrr�__call__KszAuthBase.__call__N��__name__�
__module__�__qualname__�__doc__r!rrrrrHsrc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�
HTTPBasicAuthz?Attaches HTTP Basic Authentication to the given Request object.cCs||_||_dS�N)rr�rrrrrr�__init__RszHTTPBasicAuth.__init__cCs(t|jt|dd�k|jt|dd�kg�S�Nrr��allr�getattrr�r�otherrrr�__eq__Vs�zHTTPBasicAuth.__eq__cCs
||kSr(rr/rrr�__ne__\szHTTPBasicAuth.__ne__cCst|j|j�|jd<|S)N�
Authorization�rrr�headersrrrrr!_szHTTPBasicAuth.__call__N)r#r$r%r&r*r1r2r!rrrrr'Os
r'c@seZdZdZdd�ZdS)�
HTTPProxyAuthz=Attaches HTTP Proxy Authentication to a given Request object.cCst|j|j�|jd<|S)NzProxy-Authorizationr4rrrrr!gszHTTPProxyAuth.__call__Nr"rrrrr6dsr6c@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�HTTPDigestAuthz@Attaches HTTP Digest Authentication to the given Request object.cCs||_||_t��|_dSr()rr�	threading�local�
_thread_localr)rrrr*oszHTTPDigestAuth.__init__cCs@t|jd�s<d|j_d|j_d|j_i|j_d|j_d|j_dS)N�initT�r)�hasattrr:r;�
last_nonce�nonce_count�chal�pos�
num_401_calls)rrrr�init_per_thread_stateusz$HTTPDigestAuth.init_per_thread_statecs�|jjd}|jjd}|jj�d�}|jj�d�}|jj�d�}d�|durTd}n|��}|dksl|dkrzd	d
�}	|	�n@|dkr�dd
�}
|
�n*|dkr�dd�}|�n|dkr�dd�}|��fdd�}
�dur�dSd}t|�}|jp�d}|jr�|d|j7}d|j||jf}d||f}�|�}�|�}||jj	k�rJ|jj
d7_
nd|j_
d|jj
}t|jj
��d�}||�d�7}|t
���d�7}|t�d�7}t�|���dd�}|dk�rЈd|||f�}|�s�|
|d||f�}n<|dk�sd|�d �v�r"d!|||d|f}|
||�}ndS||j_	d"|j||||f}|�rT|d#|7}|�rf|d$|7}|�rx|d%|7}|�r�|d&||f7}d'|S)(z
        :rtype: str
        �realm�nonce�qop�	algorithm�opaqueN�MD5zMD5-SESScSs"t|t�r|�d�}t�|���S�N�utf-8)r
rr�hashlib�md5�	hexdigest��xrrr�md5_utf8�s

z4HTTPDigestAuth.build_digest_header.<locals>.md5_utf8�SHAcSs"t|t�r|�d�}t�|���SrJ)r
rrrL�sha1rNrOrrr�sha_utf8�s

z4HTTPDigestAuth.build_digest_header.<locals>.sha_utf8zSHA-256cSs"t|t�r|�d�}t�|���SrJ)r
rrrL�sha256rNrOrrr�sha256_utf8�s

z7HTTPDigestAuth.build_digest_header.<locals>.sha256_utf8zSHA-512cSs"t|t�r|�d�}t�|���SrJ)r
rrrL�sha512rNrOrrr�sha512_utf8�s

z7HTTPDigestAuth.build_digest_header.<locals>.sha512_utf8cs�d||f�S)N�%s:%sr)�s�d��	hash_utf8rr�<lambda>��z4HTTPDigestAuth.build_digest_header.<locals>.<lambda>�/�?z%s:%s:%srYrz%08xrK���auth�,z%s:%s:%s:%s:%sz>username="%s", realm="%s", nonce="%s", uri="%s", response="%s"z
, opaque="%s"z, algorithm="%s"z
, digest="%s"z , qop="auth", nc=%s, cnonce="%s"z	Digest %s)r:r@�get�upperr�path�queryrrr>r?rr�time�ctime�os�urandomrLrSrN�split)r�method�urlrDrErFrGrH�
_algorithmrQrTrVrX�KD�entdig�p_parsedrh�A1�A2�HA1�HA2�ncvaluerZ�cnonce�respdig�noncebit�baserr\r�build_digest_headers�


��z"HTTPDigestAuth.build_digest_headercKs|jrd|j_dS)z)Reset num_401_calls counter on redirects.rN)�is_redirectr:rB)rr �kwargsrrr�handle_redirect�szHTTPDigestAuth.handle_redirectcKs&d|jkrdks$nd|j_|S|jjdurB|jj�|jj�|j�dd�}d|�	�v�r|jjdk�r|jjd7_t
jd	t
jd
�}t
|jd|dd��|j_|j|��|j��}t|j|j|j�|�|j�|�|j|j�|jd<|jj|fi|��}|j�|�||_|Sd|j_|S)
zo
        Takes the given response and tries digest-auth, if needed.

        :rtype: requests.Response
        i�i�rNzwww-authenticater<�digest�zdigest )�flags)�countr3)�status_coder:rBrA�request�body�seekr5rf�lower�re�compile�
IGNORECASEr	�subr@�content�close�copyr�_cookies�raw�prepare_cookiesr~rorp�
connection�send�history�append)rr r��s_auth�pat�prep�_rrrr�
handle_401�s0	
�
zHTTPDigestAuth.handle_401cCs||��|jjr&|�|j|j�|jd<z|j��|j_	Wnt
yRd|j_	Yn0|�d|j�|�d|j
�d|j_|S)Nr3�responser)rCr:r>r~rorpr5r��tellrA�AttributeError�
register_hookr�r�rBrrrrr!szHTTPDigestAuth.__call__cCs(t|jt|dd�k|jt|dd�kg�Sr+r,r/rrrr1*s�zHTTPDigestAuth.__eq__cCs
||kSr(rr/rrrr20szHTTPDigestAuth.__ne__N)r#r$r%r&r*rCr~r�r�r!r1r2rrrrr7ls
f,r7)r&rlr�rjrLr8r�base64r�compatrrr�cookiesr�_internal_utilsr�utilsr	�CONTENT_TYPE_FORM_URLENCODED�CONTENT_TYPE_MULTI_PARTr�objectrr'r6r7rrrr�<module>s$,

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic