HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc
�

��h�����ddlmZddlZddlZddlZddlmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZer ddlmZmZdd	lmZdd
lmZddlmZddlmZGd
�de�Zy)�)�annotationsN)�
TYPE_CHECKING�Any�
Collection�Mapping)�HTTPAdapter)�	DictCache)�PERMANENT_REDIRECT_STATUSES�CacheController)�CallbackFileWrapper)�PreparedRequest�Response)�HTTPResponse)�	BaseCache)�
BaseHeuristic)�
Serializerc���eZdZhd�Z						d																	d�fd�
Z						d															d	�fd�
Z		d
									d�fd�
Zd�fd�Z�xZS)
�CacheControlAdapter>�PUT�PATCH�DELETEc���t�
|�|i|��|�
t�n||_||_|xsd|_|xst}	|	|j||��|_y)N)�GET)�cache_etags�
serializer)�super�__init__r	�cache�	heuristic�cacheable_methodsr�
controller)�selfrr�controller_classrrr �args�kw�controller_factory�	__class__s          ��B/usr/lib/python3/dist-packages/pip/_vendor/cachecontrol/adapter.pyrzCacheControlAdapter.__init__s\���	���$�%�"�%�$)�M�Y�[�u��
�"���!2�!>�h���-�@���,��J�J�K�J�
���c�n��|xs|j}|j|vrf	|jj|�}	|	r|j
||	d��S|jj|jj|��t�|�-||||||�}
|
S#tj
$rd}	Y�wwxYw)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"�request�stream�timeout�verify�cert�proxiesr �	cacheable�cached_response�respr's           �r(r4zCacheControlAdapter.send2s����&�?��)?�)?�	��>�>�Y�&�
'�"&�/�/�"@�"@��"I����*�*�7�O�PT�*�U�U�
�O�O�"�"�4�?�?�#F�#F�w�#O�P��w�|�G�V�W�f�d�G�L������:�:�
'�"&��
'�s�B�B4�3B4c����
�|xs|j}|�sA|j|v�r2|jr|jj|�}|jdk(rG|j
j
||�}||urd}|jd��|j�|}n�t|j�tvr|j
j||�n}t|jtj|j
j||��|_
|j r-|j"�
d�
fd�}t%j&||�|_t(�|�U||�}|j|j,vrZ|j.rN|j0�J�|j
j3|j0�}	|j4j7|	�||_|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_contentc�h����|jdk(r|jj�yy)Nr)�
chunk_left�_fp�_close)r"�super_update_chunk_lengths �r(�_update_chunk_lengthz@CacheControlAdapter.build_response.<locals>._update_chunk_length�s(���1�3��?�?�a�/� �H�H�O�O�-�0r))r"r�return�None)r r,r�apply�statusr!�update_cached_response�read�release_conn�intr
�cache_responserrB�	functools�partial�chunkedrE�types�
MethodTyperr0�invalidating_methods�ok�url�	cache_urlr�deleter+)r"r5�responser+r r;r<rEr=rWrDr's          @�r(r0z"CacheControlAdapter.build_responsePs����&�?��)?�)?�	��g�n�n�	�9��~�~��>�>�/�/��9�����#�%�
#'�/�/�"H�"H��X�#��#�(�2�!%�J��
�
�U�
�3��%�%�'�*���X�_�_�%�)D�D����.�.�w��A� 3��L�L��%�%����6�6���� ����#�#�08�0M�0M�-�.�
5:�4D�4D�,�h�5�H�1���/���B���>�>�T�6�6�6�4�7�7��;�;�*�*�*����1�1�'�+�+�>�I��J�J���i�(�%����r)c�V��|jj�t�|��y)N)r�closer)r"r's �r(r[zCacheControlAdapter.close�s����
�
����
��
�r))NTNNNN)rzBaseCache | Noner�boolr#ztype[CacheController] | NonerzSerializer | NonerzBaseHeuristic | Noner �Collection[str] | Noner$rr%rrFrG)FNTNNN)r5r
r6r\r7z7None | float | tuple[float, float] | tuple[float, None]r8z
bool | strr9z4None | bytes | str | tuple[bytes | str, bytes | str]r:zMapping[str, str] | Noner r]rFr)FN)
r5r
rYrr+r\r r]rFr)rFrG)	�__name__�
__module__�__qualname__rTrr4r0r[�
__classcell__)r's@r(rrs2���5��#'� �9=�(,�*.�48�
��
��
�7�	
�
&�
�(�

�2�
��
��
�
�
�0�KO�!�GK�,0�48�� ����I�	�
��D�
�*��2��
��D!�48�M� �M��M��	M�
2�M�
�
M�^�r)r)�
__future__rrOrRr.�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�r)r(�<module>rmsE��#����:�:�5�4�\�D��>�0�8�A�=�G�+�Gr)