diff Lib/SimpleXMLRPCServer.py @ 55343:3a613e00f66d legacy-trunk

http://bugs.python.org/issue6499 zlib/gzip may not be present for all builds. Make xmlrpclib gracefully not supporg gzip encoding in this case
author Kristján Valur Jónsson <kristjan@ccpgames.com>
date Sun, 19 Jul 2009 22:14:00 +0000
parents ffd7cf5c7285
children ae00a3a80473
line wrap: on
line diff
--- a/Lib/SimpleXMLRPCServer.py	Sun Jul 19 20:18:21 2009 +0000
+++ b/Lib/SimpleXMLRPCServer.py	Sun Jul 19 22:14:00 2009 +0000
@@ -521,8 +521,11 @@
                 if len(response) > self.encode_threshold:
                     q = self.accept_encodings().get("gzip", 0)
                     if q:
-                        response = xmlrpclib.gzip_encode(response)
-                        self.send_header("Content-Encoding", "gzip")
+                        try:
+                            response = xmlrpclib.gzip_encode(response)
+                            self.send_header("Content-Encoding", "gzip")
+                        except NotImplementedError:
+                            pass
             self.send_header("Content-length", str(len(response)))
             self.end_headers()
             self.wfile.write(response)
@@ -535,6 +538,8 @@
         if encoding == "gzip":
             try:
                 return xmlrpclib.gzip_decode(data)
+            except NotImplementedError:
+                self.send_response(501, "encoding %r not supported" % encoding)
             except ValueError:
                 self.send_response(400, "error decoding gzip content")
         else: