OwlCyberSecurity - MANAGER
Edit File: session.cpython-312.pyc
� ����G��e�H����������������������������U�d�Z�ddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl ZddlZddlmZmZmZmZmZmZmZmZmZmZ�ddlmZmZ�ddlmZ �ddl!m"Z"m#Z#�ddl!m$Z%�ddl&m'Z'm(Z(�dd l)m*Z*�dd l+m,Z,�ddl-m.Z.�ddl/m0Z0�dd l1m2Z2�ddl3m4Z4�ddl5m6Z6�ddl7m8Z8�ddl9m:Z:�ddl;m<Z<�ddl=m>Z>m?Z?�ddl@mAZA�erddlBmCZC�ddlDmEZE��ej�������������������eG�������ZHeeIeIeeeJeIf������f���ZK�ej�������������������de.���������g�d�ZMeeK���eNd<���dZOdePfd�ZQdeIfd�ZR�G�d��d e#�������ZS�G�d!��d"�������ZT�G�d#��d$eTe%�������Z$�G�d%��d&eTe �������Z�G�d'��d(e$�������ZU�G�d)��d*e�������ZV�G�d+��d,ej��������������������������ZXy)-zhPipSession and supporting code, containing all pip-specific network request configuration and behavior. �����N) � TYPE_CHECKING�Any�Dict� Generator�List�Mapping�Optional�Sequence�Tuple�Union)�requests�urllib3)�CacheControlAdapter)�DEFAULT_POOLBLOCK�BaseAdapter)�HTTPAdapter)�PreparedRequest�Response)�CaseInsensitiveDict)�ConnectionPool)�InsecureRequestWarning)�__version__)�get_default_environment)�Link)�MultiDomainBasicAuth)� SafeFileCache)�has_tls)�libc_ver)�build_url_from_netloc�parse_netloc)�url_to_path)� SSLContext)�PoolManager�ignore)�category))�https�*r'���)r'���� localhostr'���)r'���z127.0.0.0/8r'���)r'���z::1/128r'���)�filer'���N)�sshr'���r'����SECURE_ORIGINS)� BUILD_BUILDID�BUILD_ID�CI� PIP_IS_CI�returnc�������������������.�����t��������d��t��������D����������������S�)z? Return whether it looks like pip is running under CI. c��������������3����@���K����|�]��}|t���������j������������������v������y��w�N)�os�environ)�.0�names��� ��/builddir/build/BUILDROOT/alt-python312-pip-23.3.1-1.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/network/session.py� <genexpr>z looks_like_ci.<locals>.<genexpr>j���s���������G�d�t�r�z�z�!�G�s����)�any�CI_ENVIRONMENT_VARIABLES�������r8���� looks_like_cir>���c���s��������G�.F�G�G�Gr=���c������������ �����������dt���������d�t��������j��������������������������dt��������j��������������������������id�}�|�d���d���dk(��rt��������j��������������������������|�d���d<���n�|�d���d���dk(��rSt��������j ������������������}|j������������������d k(��r|d d�}dj������������������|D��cg�c] ��}t��������|����������c}�������|�d���d<���nK|�d���d���d k(��rt��������j��������������������������|�d���d<���n%|�d���d���dk(��rt��������j��������������������������|�d���d<���t��������j������������������j������������������d�������r�ddl m}�|j��������������������������|j��������������������������|j��������������������������f}t��������t!��������d��t#��������g�d�|���������������������}t��������t!��������d��t#��������ddgt%�������������������������������������}|r||d<���|r||�d<���t��������j������������������j������������������d�������r4t��������j&��������������������������d���rdt��������j&��������������������������d���d�|�d<���t��������j(��������������������������r't��������j(��������������������������|�j+������������������di��������d<���t��������j,��������������������������r't��������j,��������������������������|�j+������������������di��������d<���t��������j.��������������������������rt��������j.��������������������������|�d<���t1����������������rdd l}|j4������������������|�d<���t7����������������j9������������������d�������}|�t��������|j�������������������������|�d<���t;��������j<������������������d ��������` �t?��������j@������������������d d!gt>��������jB������������������d"�#�������} | j������������������d$�������r&| jE������������������d%�������d&���jG��������������������������|�d'<��� �tK����������������rd(nd |�d)<���tL��������jN������������������jQ������������������d*�������} | �| |�d+<���d,jS������������������|�tU��������jV������������������|�d-d(�.��������/�������S�c�c}w�#�tH��������$�r�Y��pw�xY�w)0z6 Return a string representing the user agent. �pip)r7����versionr7���)� installer�python�implementationrD����CPythonrA����PyPy�finalN�����.�Jython� IronPython�linuxr���)�distroc�����������������������|�d���S��N����r<�����xs��� r8����<lambda>zuser_agent.<locals>.<lambda>����� ������!�A�$��r=���)r7���rA����idc�����������������������|�d���S�rO���r<���rQ���s��� r8���rS���zuser_agent.<locals>.<lambda>����rT���r=����lib�libcrM����darwin�macOS�system�release�cpu�openssl_version� setuptools�setuptools_version�rustcz --versiong�������?)�stderr�timeouts���rustc ���� rP���� rustc_versionT�ci�PIP_USER_AGENT_USER_DATA� user_dataz9{data[installer][name]}/{data[installer][version]} {json})�,�:)� separators� sort_keys)�data�json),r����platform�python_version�python_implementation�sys�pypy_version_info�releaselevel�join�str� startswith�pip._vendorrM���r7���rA����codename�dict�filter�zipr����mac_verr[���� setdefaultr\����machiner����_ssl�OPENSSL_VERSIONr����get_distribution�shutil�which� subprocess�check_output�STDOUT�split�decode� Exceptionr>���r4���r5����get�formatrn����dumps)rm���rs���rR���rM����linux_distribution�distro_infosrX����ssl�setuptools_dist�rustc_outputrh���s��� r8���� user_agentr����m���s������ �$��<��)�)�+��H�2�2�4� ��D�����f�%��2�,4�,C�,C�,E�� ��y�)� �� �� '�6� 1��1�1���)�)�W�4� 1�"�1� 5��,/�H�H�.�/��S��V�/�- �� ��y�)�� �� �� '�8� 3�,4�,C�,C�,E�� ��y�)� �� �� '�<� 7�,4�,C�,C�,E�� ��y�)� �|�|���w�'�&�#�[�[�]�F�N�N�,<�f�o�o�>O�O��'+����-�/A�B� �( �������U�I�&�� �3� � ����#'�L�� ��)�D��N� �|�|���x�(�X�-=�-=�-?��-B�")�h�6F�6F�6H��6K�L��X������08���0A�����"�%�f�-�����3;�3C�3C�3E�����"�%�i�0������&�&�(��U���y��"%�"5�"5�� ��-�/�@�@��N�O��"�%(��)@�)@�%A�� !�"� �|�|�G��(� M�%�2�2��+�&�z�/@�/@�#��L���&�&�y�1��)5�(:�(:�4�(@��(C�(J�(J�(L��_�%��'���d�D��J�� � ���9�:�I���%��[��F�M�M� � �Z�Z���t� D��N������Y� 0��r��� �� �s����O �(O�� O�Oc�������������������������e�Zd�Z � � � � �ddededeeeeeef���f������deee f���deee ee e f���f������dee e e f������defd �Zdd �Z y) �LocalFSAdapterN�request�streamrc����verify�cert�proxiesr0���c����������������������t��������|j�������������������������}t����������������}d|_��������|j������������������|_�������� �t ��������j ������������������|�������} t��������j������������������j������������������| j������������������d��������} t��������j������������������|�������d���xs�d}t��������|| j������������������| d��������|_��������t��������|d�������|_��������|j ������������������j"������������������|_��������|S�#�t$��������$�rd}d|_��������t'��������|�������j(������������������|_��������t-��������j.������������������|j*��������������������d |���j1������������������d ��������������|_��������Y�d�}~|S�d�}~ww�xY�w)N�����T)�usegmtr���z text/plain)zContent-TypezContent-Lengthz Last-Modified�rbi���z: �utf8)r!����urlr����status_coder4����stat�email�utils� formatdate�st_mtime� mimetypes� guess_typer����st_size�headers�open�raw�close�OSError�type�__name__�reason�io�BytesIO�encode) �selfr����r����rc���r����r����r�����pathname�resp�stats�modified�content_type�excs ��� r8����sendzLocalFSAdapter.send����s�������w�{�{�+���z������;�;��� (��G�G�H�%�E���{�{�-�-�e�n�n�T�-�J�H�$�/�/��9�!�<�L��L�.�$0�&+�m�m�%-���D�L���H�d�+�D�H������D�J����)��� J�� #�D���s�)�,�,�D�K��z�z�T�[�[�M��C�5�"9�"@�"@��"H�I�D�H�H�����) J�s����C!��! E�*AE � Ec������������������������y�r3���r<���)r����s��� r8���r����zLocalFSAdapter.close����s������r=���)FNTNN)r0���N)r����� __module__�__qualname__r����boolr ���r����floatr���rv���r���r���r����r����r<���r=���r8���r����r��������s���������?C�#'�6:�/3�%� �%���%���%��u�U�E�\�':� :�;�<� %� ��d�C�i� �%���u�S�%��S��/�1�2�3� %���'�#�s�(�+�,�%�� �%�N r=���r����c��������������������`�������e�Zd�ZdZdd�ded���deddf��fd�Zefd ed ede dedd f ��fd� Z ��xZS�)�_SSLContextAdapterMixina#��Mixin to add the ``ssl_context`` constructor argument to HTTP adapters. The additional argument is forwarded directly to the pool manager. This allows us to dynamically decide what SSL store to use at runtime, which is used to implement the optional ``truststore`` backend. N)�ssl_contextr����r"����kwargsr0���c�����������������2������||�_���������t���������|����di�|���y�)Nr<���)�_ssl_context�super�__init__)r����r����r����� __class__s��� �r8���r����z _SSLContextAdapterMixin.__init__��s��������(��� ���"�6�"r=����connections�maxsize�block�pool_kwargsr#���c������������������z������|�j��������������������|j������������������d|�j���������������������������t���������|����d|||d�|��S�)Nr����)r����r����r����r<���)r����r~���r�����init_poolmanager)r����r����r����r����r����r����s��� �r8���r����z(_SSLContextAdapterMixin.init_poolmanager��sQ�����������(��"�"�=�$�2C�2C�D��w�'�� �#��� ��� �� r=���)r����r����r�����__doc__r ���r���r����r����intr����r����� __classcell__�r����s���@r8���r����r��������st���������/3�#���l�+�#��� #� � �#��(� �� ��� ��� � �� �� � �� r=���r����c�������������������������e�Zd�Zy)r���N�r����r����r����r<���r=���r8���r���r��� ���������r=���r���c�������������������������e�Zd�Zy)r���Nr����r<���r=���r8���r���r���$��r����r=���r���c������������ ��������X�������e�Zd�Zdededeeef���deeeeeef���f������ddf ��fd�Z ��xZ S�)�InsecureHTTPAdapter�connr����r����r����r0���Nc������������������,������t����������|����||d|���������y��NF)r����r����r����r�����r�����cert_verify�r����r����r����r����r����r����s��� �r8���r����zInsecureHTTPAdapter.cert_verify)����������� ����3�u�4��Hr=����r����r����r����r���rv���r���r����r ���r���r����r����r����s���@r8���r����r����(���d�������I��I���I���d�C�i� � I� ��u�S�%��S��/�1�2�3�I�� � I��Ir=���r����c������������ ��������X�������e�Zd�Zdededeeef���deeeeeef���f������ddf ��fd�Z ��xZ S�)�InsecureCacheControlAdapterr����r����r����r����r0���Nc������������������,������t����������|����||d|���������y�r����r����r����s��� �r8���r����z'InsecureCacheControlAdapter.cert_verify4��r����r=���r����r����s���@r8���r����r����3��r����r=���r����c��������������������������e�Zd�ZU�dZee���ed<���dddddd�dededee���d e e���d ee e������ded���d eddf��fd�Zde e���ddfd�Z �ddedee���de ddfd�Zdeeddf���fd�Zdede fd�Zdededed edef ��fd�Z��xZS�)� PipSessionNrc���r���r<���)�retries�cache� trusted_hosts� index_urlsr�����argsr����r����r����r����r����r"���r����r0���c����������������������t���������|����|i�|���g�|�_��������t����������������|�j������������������d<���t��������|��������|�_��������t��������j������������������|g�d�d��������}t��������|��������}|r3t��������t��������|�������||��������} t��������t��������|�������|��������|�_ ��������nt��������||� �������} ||�_ ��������|�j������������������d | ��������|�j������������������d|��������|�j������������������dt!������������������������|D�]��} |�j#������������������| d �����������y)zj :param trusted_hosts: Domains not to emit warnings for when not using HTTPS. z User-Agent)r����)i���i���i��i��g�������?)�total�status_forcelist�backoff_factor)�max_retries)r����r����r����)r����r����)r����r����zhttps://zhttp://zfile://T)�suppress_loggingN)r����r�����pip_trusted_originsr����r����r����authr����Retryr����r���r���r�����_trusted_host_adapterr����mountr�����add_trusted_host)r����r����r����r����r����r����r����r�����insecure_adapter�secure_adapter�hostr����s��� �r8���r����zPipSession.__init__A��s������� ���$�)�&�)��EG�� ��&0�\����\�"��)�J�?�� ���-�-����2�� � ��*�/�7�C����0�#�E�*�#�'��N� �*E�#�E�*�#�*�D�&� �)�W�+�V�N�)9�D�&�� � �:�~�.�� � �9�.�/�� � � �9�n�.�/�!�� ?�D��!�!�$��!�>� ?r=����new_index_urlsc������������������&�����||�j�������������������_��������y)zn :param new_index_urls: New index urls to update the authentication handler with. N)r����r����)r����r����s��� r8����update_index_urlszPipSession.update_index_urls���s������ � .�� � �r=���r�����sourcer����c������������������6����|s%d|��}|� |d|��d�z ��}t���������j������������������|��������t��������|�������\��}}|�t��������d|����������||f|�j������������������vr|�j������������������j������������������||f��������|�j ������������������t��������|d��������dz���|�j��������������������������|�j ������������������t��������|�������dz���|�j��������������������������|sS|�j ������������������t��������|d��������d z���|�j��������������������������|�j ������������������t��������|�������d z���|�j��������������������������yy) z� :param host: It is okay to provide a host that has previously been added. :param source: An optional source string, for logging where the host string came from. zadding trusted host: Nz (from �)z+Trusted host URL must include a host part: �http)�scheme�/rj���) �logger�infor ���� ValueErrorr�����appendr����r���r����)r����r����r���r�����msg�parsed_host�parsed_ports��� r8���r����zPipSession.add_trusted_host���s������ �)�$��2�C��!������*�*���K�K���#/��#5� ��[����J�4�(�S�T�T���%�T�-E�-E�E��$�$�+�+�[�+�,F�G�� � �!�$�v�6��<�d�>X�>X� �� � � �(��.��4�d�6P�6P�Q���J�J�%�d�6�:�S�@��*�*� � � �J�J�,�T�2�S�8�$�:T�:T�U� �r=���c��������������#����j���K����t���������E�d�{�������|�j������������������D�]��\��}}d||�dn|f�����y�7��$�w)Nr'���)r+���r����)r����r�����ports��� r8����iter_secure_originszPipSession.iter_secure_origins���s@���������!�!�!��2�2�� =�J�D�$���T�\�c�t�<�<� =�� "�s���� 3�1�%3�locationc������������������6����t���������j������������������j������������������t��������|��������������}|j������������������|j ������������������|j������������������}}}|j������������������dd�������d���}|�j��������������������������D�]U��}|\��}}} ||k7��r|dk7��r� �t��������j������������������|xs�d�������} t��������j������������������|�������}| |vr�H|| k7��r| dk7��r| ��U�y�t��������j������������������d||��������y#�t��������$�r-�|r(|j��������������������������|j��������������������������k7��r|dk7��rY���Y��]w�xY�w) N�+rP������r'�����Tz�The repository located at %s is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host %s'.F)�urllib�parse�urlparserv���r���hostnamer���rsplitr��� ipaddress� ip_address� ip_networkr���lowerr���warning)r����r���parsed�origin_protocol�origin_host�origin_port� secure_origin�secure_protocol�secure_host�secure_port�addr�networks��� r8����is_secure_originzPipSession.is_secure_origin���s@��������&�&�s�8�}�5���M�M��O�O��K�K��'2����*�0�0��a�8��<�� �"�5�5�7��! �M�8E�5�O�[�+��/�1�o��6L�� � �+�+�K�,=�2�>��#�.�.�{�;����w�&����{�*��3�&��+����C! �L� ��� I�� �� ����O��� �� �#�)�)�+�{�/@�/@�/B�B�#�s�*��� �s����.C"�"1D�D�methodr����c������������������������|j������������������d|�j��������������������������|j������������������d|�j��������������������������t���������|����||g|��i�|��S�)Nrc���r����)r~���rc���r����r����r����)r����r*��r����r����r����r����s��� �r8���r����zPipSession.request���sH����������)�T�\�\�2����)�T�\�\�2���w��v�s�<�T�<�V�<�<r=���)NF)r����r����r����rc���r ���r�����__annotations__r���rv���r ���r���r����r����r����r����r����SecureOriginr��r���r)��r���r����r����r����s���@r8���r����r����>��s>������!�G�X�c�]�!� ��#�')�*.�.2�M?��M?���M?����}� M?� � ��}�M?���T�#�Y�'� M?���l�+�M?���M?�� �M?�^.��S� ��.�d��.��QV�V��V�!)�#��V�IM�V� �V�B=�Y�|�T�4�/G�%H��=� A���A�$��A�F=�c��=���=�C��=�3��=�8��=��=r=���r����)Yr�����email.utilsr����r����r��rn����loggingr����r4���ro���r����r����rr����urllib.parser���warnings�typingr���r���r���r���r���r���r ���r ���r���r���rx���r ���r����pip._vendor.cachecontrolr����_BaseCacheControlAdapter�pip._vendor.requests.adaptersr���r���r����_BaseHTTPAdapter�pip._vendor.requests.modelsr���r����pip._vendor.requests.structuresr����"pip._vendor.urllib3.connectionpoolr����pip._vendor.urllib3.exceptionsr���r@���r����pip._internal.metadatar����pip._internal.models.linkr����pip._internal.network.authr����pip._internal.network.cacher����pip._internal.utils.compatr����pip._internal.utils.glibcr����pip._internal.utils.miscr���r ����pip._internal.utils.urlsr!���r����r"����pip._vendor.urllib3.poolmanagerr#���� getLoggerr����r��rv���r����r-���filterwarningsr+���r,��r;���r����r>���r����r����r����r����r�����Sessionr����r<���r=���r8����<module>rG�����sj�������� ���������� ���� ���� �����������*��T��H��I��A��?��=��A����:��*��;��5��/��.��H��0���;�� �� � �8� $���S�#�x��c�3�h��8�8�9����������+A��B� &���\�"�� �( ���H�t��H�b�C��b�J) �[��) �X �� �D �)�+;�� � �1�3K�� �I�+��I�I�"5��I�I=��!�!��I=r=���