summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2010-02-24 20:55:31 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2010-02-24 20:55:31 (GMT)
commite9a78083c0c23fc00b9e20b68288522fe77a22a3 (patch)
tree65c96cb50aa3cfa0cbc52256b36e88b0f500317a /Lib
parent60677a78f8df722a92b57732496cbd97e014849d (diff)
downloadcpython-e9a78083c0c23fc00b9e20b68288522fe77a22a3.zip
cpython-e9a78083c0c23fc00b9e20b68288522fe77a22a3.tar.gz
cpython-e9a78083c0c23fc00b9e20b68288522fe77a22a3.tar.bz2
Fix for Issue7540 ; urllib2 will raise a TypeError when you try to add_data to
a existing req object already having data.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_urllib2.py1
-rw-r--r--Lib/urllib2.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index c0366dd..ef59cfa 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -1209,6 +1209,7 @@ class RequestTests(unittest.TestCase):
self.get.add_data("spam")
self.assertTrue(self.get.has_data())
self.assertEqual("POST", self.get.get_method())
+ self.assertRaises(TypeError,self.get.add_data, "more spam")
def test_get_full_url(self):
self.assertEqual("http://www.python.org/~jeremy/",
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 122f777..8b26971 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -226,6 +226,9 @@ class Request:
# XXX these helper methods are lame
def add_data(self, data):
+ if self.has_data():
+ raise TypeError("Request Obj already contains data: %s" %
+ self.data)
self.data = data
def has_data(self):