R`i
J d dl mZ d dlmZmZ ddlmZ ddlmZ d Z
d Zd Zy )
)absolute_import)!MultipartInvariantViolationDefectStartBoundaryNotFoundDefect )HeaderParsingError)http_clientc | j S # t $ r Y nw xY w | j S # t $ r Y nw xY w | j du S # t $ r
Y t d w xY 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.)isclosedAttributeErrorclosedfp
ValueError)objs /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.pyis_fp_closedr s{
||~
zz
vv~
@
AA
s) . ::
A A"!A"c t | t j s#t dj t | t
| dd }t
| dd }d}|r/| j s | }t |t t f r|}|r%|D cg c] }t |t t f s| }}|s|r
t || yc c}w )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_payload)r
unparsed_data)
isinstancehttplibHTTPMessage TypeErrorformattypegetattris_multipartbytesstrr r r )headersr r r payloaddefects r assert_header_parsingr# ( s gw223<CCDMRSSgy$/G'=$7KM ##%!mG'E3<0 '
"
!46WX
!
-
NN
s Cc j | j }t |t r|dk( S |j dk( S )z
Checks whether the request of a response has been a HEAD-request.
Handles the quirks of AppEngine.
:param http.client.HTTPResponse response:
Response to check if the originating request
used 'HEAD' as a method.
HEAD)_methodr intupper)responsemethods r is_response_to_headr, ^ s4
F{<<>V## N)
__future__r email.errorsr r
exceptionsr packages.six.movesr r r r# r, r- r