File: //lib/python3/dist-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-310.pyc
o
@%Ne�
� @ sP d dl mZ d dlmZmZ ddlmZ ddlmZ dd� Z
dd � Zd
d� ZdS )
� )�absolute_import)�!MultipartInvariantViolationDefect�StartBoundaryNotFoundDefect� )�HeaderParsingError)�http_clientc C s` z| � � W S ty Y nw z| jW S ty Y nw z| jdu W S ty/ Y td��w )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)�obj� r �C/usr/lib/python3/dist-packages/pip/_vendor/urllib3/util/response.py�is_fp_closed s
���r c C s� t | tj�std�t| ����t| dd�}t| dd�}d}|r/| �� s/|� }t |tt f�r/|}|r8dd� |D �}|s<|rBt
||d��dS )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_payloadc S s g | ]}t |ttf�s|�qS r )�
isinstancer r )�.0�defectr r r �
<listcomp>R s ���z)assert_header_parsing.<locals>.<listcomp>)r �
unparsed_data)r �httplib�HTTPMessage� TypeError�format�type�getattr�is_multipart�bytes�strr )�headersr r r �payloadr r r �assert_header_parsing( s"