U
f.
@ sh d dl mZ d dlmZ d dlmZmZ ddlm Z dddd d
Z
ddd
ddZdddddZdS ) )annotationsN)!MultipartInvariantViolationDefectStartBoundaryNotFoundDefect )HeaderParsingErrorobjectbool)objreturnc C sl z
| W S tk
r Y nX z| jW S tk
r< Y nX z| jdkW S tk
r^ Y nX tddS )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.)isclosedAttributeErrorclosedfp
ValueError)r r F/opt/alt/python38/lib/python3.8/site-packages/urllib3/util/response.pyis_fp_closed s
r zhttplib.HTTPMessageNone)headersr
c C sn t | tjs tdt| dd}| sF| }t |ttfrF|}dd | j D }|s^|rjt
||ddS )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 |ttfs|qS r )
isinstancer r ).0defectr r r