File: //usr/local/CyberCP/lib/python3.10/site-packages/urllib3/util/__pycache__/response.cpython-310.pyc
o
�h.
� @ sV d dl mZ d dlmZ d dlmZmZ ddlm Z dd
d�Z
ddd�Zddd�ZdS )� )�annotationsN)�!MultipartInvariantViolationDefect�StartBoundaryNotFoundDefect� )�HeaderParsingError�obj�object�return�boolc 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)r � r �H/usr/local/CyberCP/lib/python3.10/site-packages/urllib3/util/response.py�is_fp_closed s
���r �headers�httplib.HTTPMessage�Nonec C sn t | tj�stdt| �� d���d}| �� s#| �� }t |ttf�r#|}dd� | j D �}|s/|r5t
||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.
zexpected httplib.Message, got �.Nc S s g | ]}t |ttf�s|�qS r )�
isinstancer r )�.0�defectr r r �
<listcomp>O s ���z)assert_header_parsing.<locals>.<listcomp>)�defects�
unparsed_data)r �httplib�HTTPMessage� TypeError�type�is_multipart�get_payload�bytes�strr r )r r �payloadr r r r �assert_header_parsing( s
��r&