File: //usr/local/lib/python3.7/site-packages/urllib3/util/__pycache__/response.cpython-37.pyc
B
���g.
� @ sh d dl mZ d dlmZ d dlmZmZ ddlm Z ddd�d d
�Z
ddd
�dd�Zddd�dd�ZdS )� )�annotationsN)�!MultipartInvariantViolationDefect�StartBoundaryNotFoundDefect� )�HeaderParsingError�object�bool)�obj�returnc C sf y| � � S tk
r Y nX y| jS tk
r8 Y nX y
| jdkS tk
rX Y nX td��dS )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 �?/usr/local/lib/python3.7/site-packages/urllib3/util/response.py�is_fp_closed s
r zhttplib.HTTPMessage�None)�headersr
c C sn t | tj�s tdt| �� d���d}| �� sF| �� }t |ttf�rF|}dd� | j D �}|s^|rjt
||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>P 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% zhttplib.HTTPResponse)�responser
c C s | j }|�� dkS )z�
Checks whether the request of a response has been a HEAD-request.
:param http.client.HTTPResponse response:
Response to check if the originating request
used 'HEAD' as a method.
�HEAD)�_method�upper)r&