Current File : //usr/lib/python3/dist-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc
�

/�g�
��J�ddlmZddlmZmZddlmZddlmZ	d�Z
d�Zd�Zy	)
�)�absolute_import)�!MultipartInvariantViolationDefect�StartBoundaryNotFoundDefect�)�HeaderParsingError)�http_clientc���	|j�S#t$rYnwxYw	|jS#t$rYnwxYw	|jduS#t$r
Yt	d��wxYw)zt
    Checks whether a given file-like object is closed.

    :param obj:
        The file-like object to check.
    Nz)Unable to determine whether fp is closed.)�isclosed�AttributeError�closed�fp�
ValueError)�objs �C/usr/lib/python3/dist-packages/pip/_vendor/urllib3/util/response.py�is_fp_closedr	s{��
��|�|�~����
��
��
��z�z����
��
��
��v�v��~����
��
�@�
A�A�
�s)��	��.�	:�:�
A�	A"�!A"c��t|tj�s#tdj	t|����t
|dd�}t
|dd�}d}|r/|j�s|�}t|ttf�r|}|r%|D�cgc]}t|ttf�s|��}}|s|r
t||���ycc}w)a>
    Asserts whether all headers have been successfully parsed.
    Extracts encountered errors from the result of parsing headers.

    Only works on Python 3.

    :param http.client.HTTPMessage headers: Headers to verify.

    :raises urllib3.exceptions.HeaderParsingError:
        If parsing errors are found.
    z"expected httplib.Message, got {0}.�defectsN�get_payload)r�
unparsed_data)
�
isinstance�httplib�HTTPMessage�	TypeError�format�type�getattr�is_multipart�bytes�strrrr)�headersrrr�payload�defects      r�assert_header_parsingr#(s����g�w�2�2�3��<�C�C�D��M�R�S�S��g�y�$�/�G��'�=�$�7�K��M���#�#�%�!�m�G��'�E�3�<�0� '�
��"�
����4�6W�X��
�
��
��-� ��
�N�N� ��
s�Cc�j�|j}t|t�r|dk(S|j�dk(S)z�
    Checks whether the request of a response has been a HEAD-request.
    Handles the quirks of AppEngine.

    :param http.client.HTTPResponse response:
        Response to check if the originating request
        used 'HEAD' as a method.
    ��HEAD)�_methodr�int�upper)�response�methods  r�is_response_to_headr,^s4���
�
�F��&�#����{���<�<�>�V�#�#�N)
�
__future__r�email.errorsrr�
exceptionsr�packages.six.movesrrrr#r,�r-r�<module>r3s#��&�W�+�7�B�>3O�l
$r-