codekingpro/portable-devtools
114k
1import urllib2import urllib.parse3 4from ._utils import byte_pairs_to_str_pairs5from ._utils import merge_repeated_keys6from ._utils import yaml_dumps7from mitmproxy.contentviews._api import Contentview8from mitmproxy.contentviews._api import Metadata9 10 11class URLEncodedContentview(Contentview):12 name = "URL-encoded"13 syntax_highlight = "yaml"14 15 def prettify(16 self,17 data: bytes,18 metadata: Metadata,19 ) -> str:20 items = urllib.parse.parse_qsl(data, keep_blank_values=True)21 return yaml_dumps(merge_repeated_keys(byte_pairs_to_str_pairs(items)))22 23 def render_priority(24 self,25 data: bytes,26 metadata: Metadata,27 ) -> float:28 return float(29 bool(data) and metadata.content_type == "application/x-www-form-urlencoded"30 )31 32 33urlencoded = URLEncodedContentview()34 