tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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