adding passthrough in close() for non-urllib3-like Responses

This commit is contained in:
Nate Prewitt
2016-08-11 16:32:19 -06:00
parent e4b7040530
commit 59f12c9669
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
@@ -1353,6 +1353,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: