aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinmiao Xu <linmiao.xu@gmail.com>2016-07-06 21:01:04 -0700
committerLinmiao Xu <linmiao.xu@gmail.com>2016-07-06 21:10:35 -0700
commit275cf7a6c2189859ad5f5719c8b74b1bc6eebbf2 (patch)
tree4133948f2bf9aec3db1e3b2a1d9bcb9844aa9379
parent9c873d63f4ede1b2470f8e7ea838909e60efe998 (diff)
downloadmitmproxy-275cf7a6c2189859ad5f5719c8b74b1bc6eebbf2.tar.gz
mitmproxy-275cf7a6c2189859ad5f5719c8b74b1bc6eebbf2.tar.bz2
mitmproxy-275cf7a6c2189859ad5f5719c8b74b1bc6eebbf2.zip
Detect JSON API media type as a json content view
IANA assignment here: https://www.iana.org/assignments/media-types/application/vnd.api+json More about JSON API: https://github.com/json-api/json-api
-rw-r--r--mitmproxy/contentviews.py5
-rw-r--r--test/mitmproxy/test_contentview.py7
2 files changed, 11 insertions, 1 deletions
diff --git a/mitmproxy/contentviews.py b/mitmproxy/contentviews.py
index 6f64e360..331a706f 100644
--- a/mitmproxy/contentviews.py
+++ b/mitmproxy/contentviews.py
@@ -226,7 +226,10 @@ class ViewXML(View):
class ViewJSON(View):
name = "JSON"
prompt = ("json", "s")
- content_types = ["application/json"]
+ content_types = [
+ "application/json",
+ "application/vnd.api+json"
+ ]
def __call__(self, data, **metadata):
pj = pretty_json(data)
diff --git a/test/mitmproxy/test_contentview.py b/test/mitmproxy/test_contentview.py
index 52fceeac..c11a5fe5 100644
--- a/test/mitmproxy/test_contentview.py
+++ b/test/mitmproxy/test_contentview.py
@@ -201,6 +201,13 @@ Larry
)
assert "Raw" in r[0]
+ r = cv.get_content_view(
+ cv.get("Auto"),
+ b"[1, 2, 3]",
+ headers=Headers(content_type="application/vnd.api+json")
+ )
+ assert r[0] == "JSON"
+
tutils.raises(
ContentViewException,
cv.get_content_view,