"""
Checks whether a given file-like object is closed.
:param obj:
The file-like object to check.
"""
# Check `isclosed()` first, in case Python3 doesn't set `closed`.
# GH Issue #928
return
pass
# Check via the official file-like-object way.
return
pass
# Check if the object is a container for another file-like object that
# gets released on exhaustion (e.g. HTTPResponse).
return is None
pass
"""
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.
"""
# This will fail silently if we pass in the wrong kind of parameter.
# To make debugging easier add an explicit check.
=
=
= None
# get_payload is actually email.message.Message.get_payload;
# we're only interested in the result if it's not a multipart message
=
=
# httplib is assuming a response body is available
# when parsing headers even when httplib only sends
# header data to parse_headers() This results in
# defects on multipart responses in particular.
# See: https://github.com/urllib3/urllib3/issues/800
# So we ignore the following defects:
# - StartBoundaryNotFoundDefect:
# The claimed start boundary was never found.
# - MultipartInvariantViolationDefect:
# A message claimed to be a multipart but no subparts were found.
=
"""
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.
"""
# FIXME: Can we do this somehow without accessing private httplib _method?
=
# Platform-specific: Appengine
return == 3
return ==