mirror of
https://github.com/python/cpython.git
synced 2025-07-31 23:23:11 +00:00
zlib/gzip may not be present for all builds. Make xmlrpclib gracefully not supporg gzip encoding in this case
This commit is contained in:
parent
d7b0eebcae
commit
6d755900f6
3 changed files with 25 additions and 6 deletions
|
@ -521,8 +521,11 @@ class SimpleXMLRPCRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
|||
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 @@ class SimpleXMLRPCRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
|||
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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue