HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc
�

�mi�����ddlmZddlZddlZddlZddlZddlmZmZm	Z	m
Z
ddlmZddl
mZddlmZmZddlmZer ddlmZmZdd	lmZdd
l
mZddlmZddlmZGd
�de��ZdS)�)�annotationsN)�
TYPE_CHECKING�Any�
Collection�Mapping)�HTTPAdapter)�	DictCache)�PERMANENT_REDIRECT_STATUSES�CacheController)�CallbackFileWrapper)�PreparedRequest�Response)�HTTPResponse)�	BaseCache)�
BaseHeuristic)�
Serializerc�n��eZdZhd�Z						d)d*�fd�
Z						d+d,�fd#�
Z		d-d.�fd'�
Zd/�fd(�Z�xZS)0�CacheControlAdapter>�PUT�PATCH�DELETENT�cache�BaseCache | None�cache_etags�bool�controller_class�type[CacheController] | None�
serializer�Serializer | None�	heuristic�BaseHeuristic | None�cacheable_methods�Collection[str] | None�argsr�kw�return�Nonec����t��j|i|��|�t��n||_||_|pd|_|pt}	|	|j||���|_dS)N)�GET)rr)�super�__init__r	rr r"r�
controller)�selfrrrrr r"r$r%�controller_factory�	__class__s          ��BD:\Python311\Lib\site-packages\pip/_vendor/cachecontrol/adapter.pyr+zCacheControlAdapter.__init__sz���	�����$�%�"�%�%�%�$)�<�Y�[�[�[�u��
�"���!2�!>�h���-�@���,�,��J�K�J�
�
�
�����F�requestr
�stream�timeout�7None | float | tuple[float, float] | tuple[float, None]�verify�
bool | str�cert�4None | bytes | str | tuple[bytes | str, bytes | str]�proxies�Mapping[str, str] | Nonerc�v��|p|j}|j|vr	|j�|��}	n#tj$rd}	YnwxYw|	r|�||	d���S|j�|j�	|����t���||||||��}
|
S)z�
        Send a request. Use the request information to see if it
        exists in the cache and cache the response if we need to and can.
        NT)�
from_cache)r"�methodr,�cached_request�zlib�error�build_response�headers�update�conditional_headersr*�send)r-r2r3r4r6r8r:r"�	cacheable�cached_response�respr/s           �r0rFzCacheControlAdapter.send3s����&�?��)?�	��>�Y�&�		Q�
'�"&�/�"@�"@��"I�"I�����:�
'�
'�
'�"&����
'�����
V��*�*�7�O�PT�*�U�U�U�
�O�"�"�4�?�#F�#F�w�#O�#O�P�P�P��w�w�|�|�G�V�W�f�d�G�L�L���s�0�A�A�responserr=c
���
�|p|j}|�sJ|j|v�r@|jr|j�|��}|jdkrN|j�||��}||urd}|�d���|���|}n�t|j��tvr|j�||��n�t|j
tj|jj|t!j|������|_
|jr>|jj�
d�
fd	�}tj|t!j|����|_t+���||��}|j|jvrI|jrB|j�J�|j�|j��}	|j�|	��||_|S)z�
        Build a response by making a request or using the cache.

        This will end up calling send and returning a potentially
        cached response
        i0TF)�decode_content�	weak_self�#weakref.ReferenceType[HTTPResponse]r&r'c���|��}|�dS�|��|jdkr|j���dSdS)Nr)�
chunk_left�_fp�_close)rMr-�super_update_chunk_lengths  �r0�_update_chunk_lengthz@CacheControlAdapter.build_response.<locals>._update_chunk_length�s_��� )�y�{�{���#�"�F�1�1�$�7�7�7��?�a�/�.� �H�O�O�-�-�-�-�-�.�.r1N)rMrNr&r')r"r>r �apply�statusr,�update_cached_response�read�release_conn�intr
�cache_responserrQ�	functools�partial�weakref�ref�chunkedr/rTr*rB�invalidating_methods�ok�url�	cache_urlr�deleter=)r-r2rJr=r"rGrHrTrIrdrSr/s          @�r0rBz"CacheControlAdapter.build_responseQs
����&�?��)?�	��8	�g�n�	�9�8	��~�
:��>�/�/��9�9����#�%�1
�
#'�/�"H�"H��X�#�#��#�(�2�&�!%�J��
�
�U�
�3�3�3��%�%�'�'�'�*����X�_�%�%�)D�D�
���.�.�w��A�A�A�A� 3��L��%���6����X�AV�AV��� � ����#��08�0B�0W�-�	.�	.�	.�	.�	.�	.�5>�4E�,�g�k�(�.C�.C�5�5�H�1����/�/���B�B���>�T�6�6�	)�4�7�	)��;�*�*�*���1�1�'�+�>�>�I��J���i�(�(�(�%����r1c�z��|j���t�����dS)N)r�closer*)r-r/s �r0rgzCacheControlAdapter.close�s,����
������
���
�
�����r1)NTNNNN)rrrrrrrrr r!r"r#r$rr%rr&r')FNTNNN)r2r
r3rr4r5r6r7r8r9r:r;r"r#r&r)FN)
r2r
rJrr=rr"r#r&r)r&r')	�__name__�
__module__�__qualname__rar+rFrBrg�
__classcell__)r/s@r0rrs��������5�5�5��#'� �9=�(,�*.�48�
�
�
�
�
�
�
�0�KO�!�GK�,0�48��������D!�48�S�S�S�S�S�S�S�j���������r1r)�
__future__rr\�typesr^r@�typingrrrr�pip._vendor.requests.adaptersr�pip._vendor.cachecontrol.cacher	�#pip._vendor.cachecontrol.controllerr
r�$pip._vendor.cachecontrol.filewrapperr�pip._vendor.requestsr
r�pip._vendor.urllib3rr�#pip._vendor.cachecontrol.heuristicsr�"pip._vendor.cachecontrol.serializerr�r1r0�<module>rxsX��#�"�"�"�"�"�����������������:�:�:�:�:�:�:�:�:�:�:�:�5�5�5�5�5�5�4�4�4�4�4�4�\�\�\�\�\�\�\�\�D�D�D�D�D�D��>�>�>�>�>�>�>�>�>�0�0�0�0�0�0�8�8�8�8�8�8�A�A�A�A�A�A�=�=�=�=�=�=�M�M�M�M�M�+�M�M�M�M�Mr1