summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2011-03-19 09:25:27 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2011-03-19 09:25:27 (GMT)
commitd91ffcafcb39a5426e73ce9ec4b15077662ec571 (patch)
tree9cb602f782d889c2e5076870579fc0707d56c2b2
parente147484666bae5ce0d9972ba898c406c80d3ccd8 (diff)
downloadcpython-d91ffcafcb39a5426e73ce9ec4b15077662ec571.zip
cpython-d91ffcafcb39a5426e73ce9ec4b15077662ec571.tar.gz
cpython-d91ffcafcb39a5426e73ce9ec4b15077662ec571.tar.bz2
Closes issue11563 - test_urllibnet ResourceWarning. Patch by Jeff McNeil.
-rw-r--r--Lib/test/test_urllib.py7
-rw-r--r--Lib/urllib/request.py6
2 files changed, 12 insertions, 1 deletions
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index 673afc4..074d833 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -91,7 +91,7 @@ class urlopen_FileTests(unittest.TestCase):
"did not return the expected text")
def test_close(self):
- # Test close() by calling it hear and then having it be called again
+ # Test close() by calling it here and then having it be called again
# by the tearDown() method for the test
self.returned_obj.close()
@@ -174,6 +174,11 @@ class urlopen_HttpTests(unittest.TestCase):
finally:
self.unfakehttp()
+ def test_willclose(self):
+ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello!")
+ resp = urlopen("http://www.python.org")
+ self.assertTrue(resp.fp.will_close)
+
def test_read_0_9(self):
# "0.9" response accepted (but not "simple responses" without
# a status line)
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 1e437b5..4d3648d 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -1657,6 +1657,12 @@ class URLopener:
headers["Authorization"] = "Basic %s" % auth
if realhost:
headers["Host"] = realhost
+
+ # Add Connection:close as we don't support persistent connections yet.
+ # This helps in closing the socket and avoiding ResourceWarning
+
+ headers["Connection"] = "close"
+
for header, value in self.addheaders:
headers[header] = value