o
ai
@ sP d dl mZ d dlmZmZ ddlmZ ddlmZ dd Z
dd Zd
d ZdS )
)absolute_import)!MultipartInvariantViolationDefectStartBoundaryNotFoundDefect )HeaderParsingError)http_clientc C s` z| W S ty Y nw z| jW S ty Y nw z| jdu W S ty/ Y tdw )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)obj r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/urllib3/util/response.pyis_fp_closed s
r c C s t | tjstdt| t| dd}t| dd}d}|r/| s/| }t |tt fr/|}|r8dd |D }|s<|rBt
||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.
z"expected httplib.Message, got {0}.defectsNget_payloadc S s g | ]}t |ttfs|qS r )
isinstancer r ).0defectr r r