diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-03-03 06:41:26 +0530 |
---|---|---|
committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-03-03 06:44:19 +0530 |
commit | ec61cfddfd284a13d7bcf2807ba2e95c1a7f1d51 (patch) | |
tree | 0738f51ce7dd6ac1b12ae32aaddb1c57c1eaef59 | |
parent | 1548185a17a824273f28a9a20298b2f4a8df4569 (diff) | |
download | mitmproxy-ec61cfddfd284a13d7bcf2807ba2e95c1a7f1d51.tar.gz mitmproxy-ec61cfddfd284a13d7bcf2807ba2e95c1a7f1d51.tar.bz2 mitmproxy-ec61cfddfd284a13d7bcf2807ba2e95c1a7f1d51.zip |
Use json instead of contentviews
-rw-r--r-- | mitmproxy/flow_export.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/mitmproxy/flow_export.py b/mitmproxy/flow_export.py index b3bef62f..f5b3e2ec 100644 --- a/mitmproxy/flow_export.py +++ b/mitmproxy/flow_export.py @@ -1,8 +1,9 @@ +import json import urllib from textwrap import dedent import netlib.http -from . import contentviews +from netlib.utils import parse_content_type def curl_command(flow): @@ -55,14 +56,9 @@ def python_code(flow): data = "" if flow.request.body: - cv = contentviews.get_content_view( - viewmode=contentviews.get("Auto"), - data=flow.request.body, - headers=flow.request.headers, - ) - - if cv[0] == "JSON": - data = "\njson = %s\n" % "\n".join(l[0][1] for l in cv[1]) + if is_json(flow.request.headers): + data = json.dumps(json.loads(flow.request.body), indent=4) + data = "\njson = %s\n" % data args += "\n json=json," else: data = "\ndata = '''%s'''\n" % flow.request.body @@ -83,3 +79,10 @@ def python_code(flow): def raw_request(flow): data = netlib.http.http1.assemble_request(flow.request) return data + + +def is_json(headers): + if headers: + ct = parse_content_type(headers.get("content-type", "")) + return ct and "%s/%s" % (ct[0], ct[1]) == "application/json" + return False |