From 10824250e179aaad5bc2c9fc9a3cf6c146c65a24 Mon Sep 17 00:00:00 2001 From: A_D Date: Tue, 25 Jan 2022 15:09:30 +0200 Subject: [PATCH] add deflate support --- debug_webserver.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/debug_webserver.py b/debug_webserver.py index 9b717ec0..1defdc5b 100644 --- a/debug_webserver.py +++ b/debug_webserver.py @@ -4,6 +4,7 @@ import json import pathlib import tempfile import threading +import zlib from http import server from typing import Any, Callable, Tuple, Union from urllib.parse import parse_qs @@ -34,6 +35,16 @@ class LoggingHandler(server.BaseHTTPRequestHandler): data_raw: bytes = self.rfile.read(int(self.headers['Content-Length'])) data: str | bytes + match self.headers.get('Content-Encoding'): + case 'gzip': + data = gzip.decompress(data_raw).decode('utf-8', errors='replace') + + case 'deflate': + zlib.decompress(data_raw).decode('utf-8', errors='replace') + + case _: + data = data_raw.decode('utf-8', errors='replace') + if self.headers.get('Content-Encoding') == 'gzip': data = gzip.decompress(data_raw).decode('utf-8', errors='replace')