summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_urllib2.py
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2008-02-07 19:06:52 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2008-02-07 19:06:52 (GMT)
commit86371d61b704958e68bed0f9937c6a1ff5fd766e (patch)
tree2a82d71b84bec8628dc47cd041275aee79344c55 /Lib/test/test_urllib2.py
parentb4ee4a16f4fc28d89ba9b139db6cbaace44fc47a (diff)
downloadcpython-86371d61b704958e68bed0f9937c6a1ff5fd766e.zip
cpython-86371d61b704958e68bed0f9937c6a1ff5fd766e.tar.gz
cpython-86371d61b704958e68bed0f9937c6a1ff5fd766e.tar.bz2
Fixes Issue 1401. When redirected, a possible POST get converted
to GET, so it loses its payload. So, it also must lose the headers related to the payload (if it has no content any more, it shouldn't indicate content length and type).
Diffstat (limited to 'Lib/test/test_urllib2.py')
-rw-r--r--Lib/test/test_urllib2.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 90e1771..a35cbfa 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -822,6 +822,8 @@ class HandlerTests(unittest.TestCase):
method = getattr(h, "http_error_%s" % code)
req = Request(from_url, data)
req.add_header("Nonsense", "viking=withhold")
+ if data is not None:
+ req.add_header("Content-Length", str(len(data)))
req.add_unredirected_header("Spam", "spam")
try:
method(req, MockFile(), code, "Blah",
@@ -834,6 +836,13 @@ class HandlerTests(unittest.TestCase):
self.assertEqual(o.req.get_method(), "GET")
except AttributeError:
self.assert_(not o.req.has_data())
+
+ # now it's a GET, there should not be headers regarding content
+ # (possibly dragged from before being a POST)
+ headers = [x.lower() for x in o.req.headers]
+ self.assertTrue("content-length" not in headers)
+ self.assertTrue("content-type" not in headers)
+
self.assertEqual(o.req.headers["Nonsense"],
"viking=withhold")
self.assert_("Spam" not in o.req.headers)