Merge pull request #3510 from nateprewitt/add_close_passthrough

adding passthrough in close() for non-urllib3-like Responses
This commit is contained in:
Cory Benfield
2016-08-18 09:28:20 +01:00
committed by GitHub
2 changed files with 12 additions and 1 deletions
+3 -1
View File
@@ -870,4 +870,6 @@ class Response(object):
if not self._content_consumed:
self.raw.close()
return self.raw.release_conn()
release_conn = getattr(self.raw, 'release_conn', None)
if release_conn is not None:
release_conn()
+9
View File
@@ -1393,6 +1393,15 @@ class TestRequests:
with pytest.raises(ValueError):
r.json()
def test_response_without_release_conn(self):
"""Test `close` call for non-urllib3-like raw objects.
Should work when `release_conn` attr doesn't exist on `response.raw`.
"""
resp = requests.Response()
resp.raw = StringIO.StringIO('test')
assert not resp.raw.closed
resp.close()
assert resp.raw.closed
class TestCaseInsensitiveDict: