Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
news
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sartika Aritonang
news
Commits
f12efa98
Commit
f12efa98
authored
4 years ago
by
Sartika Aritonang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
8e07fd16
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
86 additions
and
0 deletions
+86
-0
response.py
stbi/Lib/site-packages/pip/_vendor/urllib3/util/response.py
+86
-0
No files found.
stbi/Lib/site-packages/pip/_vendor/urllib3/util/response.py
0 → 100644
View file @
f12efa98
from
__future__
import
absolute_import
from
..packages.six.moves
import
http_client
as
httplib
from
..exceptions
import
HeaderParsingError
def
is_fp_closed
(
obj
):
"""
Checks whether a given file-like object is closed.
:param obj:
The file-like object to check.
"""
try
:
# Check `isclosed()` first, in case Python3 doesn't set `closed`.
# GH Issue #928
return
obj
.
isclosed
()
except
AttributeError
:
pass
try
:
# Check via the official file-like-object way.
return
obj
.
closed
except
AttributeError
:
pass
try
:
# Check if the object is a container for another file-like object that
# gets released on exhaustion (e.g. HTTPResponse).
return
obj
.
fp
is
None
except
AttributeError
:
pass
raise
ValueError
(
"Unable to determine whether fp is closed."
)
def
assert_header_parsing
(
headers
):
"""
Asserts whether all headers have been successfully parsed.
Extracts encountered errors from the result of parsing headers.
Only works on Python 3.
:param headers: Headers to verify.
:type headers: `httplib.HTTPMessage`.
: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.
if
not
isinstance
(
headers
,
httplib
.
HTTPMessage
):
raise
TypeError
(
"expected httplib.Message, got {0}."
.
format
(
type
(
headers
)))
defects
=
getattr
(
headers
,
"defects"
,
None
)
get_payload
=
getattr
(
headers
,
"get_payload"
,
None
)
unparsed_data
=
None
if
get_payload
:
# get_payload is actually email.message.Message.get_payload;
# we're only interested in the result if it's not a multipart message
if
not
headers
.
is_multipart
():
payload
=
get_payload
()
if
isinstance
(
payload
,
(
bytes
,
str
)):
unparsed_data
=
payload
if
defects
or
unparsed_data
:
raise
HeaderParsingError
(
defects
=
defects
,
unparsed_data
=
unparsed_data
)
def
is_response_to_head
(
response
):
"""
Checks whether the request of a response has been a HEAD-request.
Handles the quirks of AppEngine.
:param conn:
:type conn: :class:`httplib.HTTPResponse`
"""
# FIXME: Can we do this somehow without accessing private httplib _method?
method
=
response
.
_method
if
isinstance
(
method
,
int
):
# Platform-specific: Appengine
return
method
==
3
return
method
.
upper
()
==
"HEAD"
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment