diff options
Diffstat (limited to 'mitmproxy/contentviews/multipart.py')
-rw-r--r-- | mitmproxy/contentviews/multipart.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mitmproxy/contentviews/multipart.py b/mitmproxy/contentviews/multipart.py new file mode 100644 index 00000000..0b0e51e2 --- /dev/null +++ b/mitmproxy/contentviews/multipart.py @@ -0,0 +1,21 @@ +from mitmproxy.net import http +from mitmproxy.types import multidict +from . import base + + +class ViewMultipart(base.View): + name = "Multipart Form" + prompt = ("multipart", "m") + content_types = ["multipart/form-data"] + + @staticmethod + def _format(v): + yield [("highlight", "Form data:\n")] + for message in base.format_dict(multidict.MultiDict(v)): + yield message + + def __call__(self, data, **metadata): + headers = metadata.get("headers", {}) + v = http.multipart.decode(headers, data) + if v: + return "Multipart form", self._format(v) |