summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_xmlrpc.py6
-rw-r--r--Lib/xmlrpc/server.py2
2 files changed, 6 insertions, 2 deletions
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index d1ed40fa29..1f5f5aa4f3 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -598,7 +598,11 @@ class CGIHandlerTestCase(unittest.TestCase):
sys.stdin = open("xmldata.txt", "r")
sys.stdout = open(support.TESTFN, "w")
- self.cgi.handle_request()
+ os.environ['CONTENT_LENGTH'] = str(len(data))
+ try:
+ self.cgi.handle_request()
+ finally:
+ del os.environ['CONTENT_LENGTH']
sys.stdin.close()
sys.stdout.close()
diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py
index eb807c484b..ea828a52e9 100644
--- a/Lib/xmlrpc/server.py
+++ b/Lib/xmlrpc/server.py
@@ -590,7 +590,7 @@ class CGIXMLRPCRequestHandler(SimpleXMLRPCDispatcher):
# POST data is normally available through stdin
try:
length = int(os.environ.get('CONTENT_LENGTH', None))
- except ValueError:
+ except (ValueError, TypeError):
length = -1
if request_text is None:
request_text = sys.stdin.read(length)