diff options
-rw-r--r-- | mitmproxy/addons/export.py | 1 | ||||
-rw-r--r-- | test/mitmproxy/addons/test_export.py | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/mitmproxy/addons/export.py b/mitmproxy/addons/export.py index 638a1e2e..80413ac9 100644 --- a/mitmproxy/addons/export.py +++ b/mitmproxy/addons/export.py @@ -30,6 +30,7 @@ def cleanup_request(f: flow.Flow) -> http.HTTPRequest: def request_content_for_console(request: http.HTTPRequest) -> str: try: text = request.get_text(strict=True) + assert text except ValueError: # shlex.quote doesn't support a bytes object # see https://github.com/python/cpython/pull/10871 diff --git a/test/mitmproxy/addons/test_export.py b/test/mitmproxy/addons/test_export.py index 1c16afb2..4b905722 100644 --- a/test/mitmproxy/addons/test_export.py +++ b/test/mitmproxy/addons/test_export.py @@ -77,6 +77,14 @@ class TestExportCurlCommand: assert shlex.split(command)[-2] == '-d' assert shlex.split(command)[-1] == "'&#" + def test_strip_unnecessary(self, get_request): + get_request.request.headers.clear() + get_request.request.headers["host"] = "address" + get_request.request.headers[":authority"] = "address" + get_request.request.headers["accept-encoding"] = "br" + result = """curl --compressed 'http://address:22/path?a=foo&a=bar&b=baz'""" + assert export.curl_command(get_request) == result + class TestExportHttpieCommand: def test_get(self, get_request): |