gzip.py (838B)
1 import gzip as gzip_module 2 3 from io import BytesIO 4 5 def main(request, response): 6 if b"content" in request.GET: 7 output = request.GET[b"content"] 8 else: 9 output = request.body 10 11 out = BytesIO() 12 with gzip_module.GzipFile(fileobj=out, mode="w") as f: 13 f.write(output) 14 output = out.getvalue() 15 16 headers = [(b"Content-type", b"text/plain"), 17 (b"Content-Encoding", b"gzip"), 18 (b"X-Request-Method", request.method), 19 (b"X-Request-Query", request.url_parts.query if request.url_parts.query else b"NO"), 20 (b"X-Request-Content-Length", request.headers.get(b"Content-Length", b"NO")), 21 (b"X-Request-Content-Type", request.headers.get(b"Content-Type", b"NO")), 22 (b"Content-Length", len(output))] 23 24 return headers, output