The SimpleXMLRPCServer's CGI handler now runs like a pony.
diff --git a/Lib/SimpleXMLRPCServer.py b/Lib/SimpleXMLRPCServer.py
index 43757a0..4c28688 100644
--- a/Lib/SimpleXMLRPCServer.py
+++ b/Lib/SimpleXMLRPCServer.py
@@ -598,8 +598,12 @@
self.handle_get()
else:
# POST data is normally available through stdin
+ try:
+ length = int(os.environ.get('CONTENT_LENGTH', None))
+ except ValueError:
+ length = -1
if request_text is None:
- request_text = sys.stdin.read()
+ request_text = sys.stdin.read(length)
self.handle_xmlrpc(request_text)
diff --git a/Misc/NEWS b/Misc/NEWS
index d51a360..1d210a1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -200,6 +200,8 @@
Library
-------
+- Actually make the SimpleXMLRPCServer CGI handler work.
+
- Issue #2522: locale.format now checks its first argument to ensure it has
been passed only one pattern, avoiding mysterious errors where it appeared
that it was failing to do localization.