From 383409213ed49f39462563a93383198becf347c1 Mon Sep 17 00:00:00 2001 From: Florian Mounier Date: Mon, 4 Jul 2016 17:00:43 +0200 Subject: [PATCH] deflate seems to be problematic with different implementations (http://stackoverflow.com/questions/388595/why-use-deflate-instead-of-gzip-for-text-files-served-by-apache/388633#388633). Using gzip instead. --- radicale/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/radicale/__init__.py b/radicale/__init__.py index d677dff..f413fa9 100644 --- a/radicale/__init__.py +++ b/radicale/__init__.py @@ -333,9 +333,12 @@ class Application: encoding.strip() for encoding in environ.get("HTTP_ACCEPT_ENCODING", "").split(",") if encoding.strip()] - if "deflate" in accept_encoding: - answer = zlib.compress(answer) - headers["Content-Encoding"] = "deflate" + + if "gzip" in accept_encoding: + zcomp = zlib.compressobj(wbits=16 + zlib.MAX_WBITS) + answer = zcomp.compress(answer) + zcomp.flush() + headers["Content-Encoding"] = "gzip" + headers["Content-Length"] = str(len(answer)) if self.configuration.has_section("headers"):