diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-02-21 20:44:03 +0530 |
---|---|---|
committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-03-01 17:39:32 +0530 |
commit | ac252064208b65381b2c2a68e373538c3b2130ce (patch) | |
tree | 4f47eb02c4c6cc07137bf96d8a7cca96705b2058 | |
parent | 3de89ab16c320350f20c828763b11a47cf2a2807 (diff) | |
download | mitmproxy-ac252064208b65381b2c2a68e373538c3b2130ce.tar.gz mitmproxy-ac252064208b65381b2c2a68e373538c3b2130ce.tar.bz2 mitmproxy-ac252064208b65381b2c2a68e373538c3b2130ce.zip |
Indent JSON body while exporting it as code
Fixes #968
-rw-r--r-- | mitmproxy/flow_export.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/mitmproxy/flow_export.py b/mitmproxy/flow_export.py index 52145516..97d5f403 100644 --- a/mitmproxy/flow_export.py +++ b/mitmproxy/flow_export.py @@ -1,7 +1,25 @@ import urllib -import netlib.http from textwrap import dedent +import netlib.http +from . import contentviews + + +def prettify(data, headers=None): + if not headers: + return data + + cv = contentviews.get_content_view( + contentviews.get("Auto"), + data, + headers=headers, + ) + + if cv[0] == "JSON": + return "\n".join(l[0][1] for l in cv[1]) + else: + return data + def curl_command(flow): data = "curl " @@ -53,7 +71,7 @@ def python_code(flow): data = "" if flow.request.body: - data = "\ndata = '''%s'''\n" % flow.request.body + data = "\ndata = '''%s'''\n" % prettify(flow.request.body, flow.request.headers) args += "\n data=data," code = code.format( |