From 46eb4a06245dfbb86c45f398c47ce0104d0266aa Mon Sep 17 00:00:00 2001 From: Nikita Stupin <18281368+nikitastupin@users.noreply.github.com> Date: Sat, 2 May 2020 13:00:24 +0300 Subject: Add contentview status bar to TCP flow details --- mitmproxy/tools/console/flowview.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/mitmproxy/tools/console/flowview.py b/mitmproxy/tools/console/flowview.py index a4d14744..ff5266df 100644 --- a/mitmproxy/tools/console/flowview.py +++ b/mitmproxy/tools/console/flowview.py @@ -108,6 +108,26 @@ class FlowDetails(tabs.Tabs): assert isinstance(flow, http.HTTPFlow) return self.conn_text(flow.response) + def _contentview_status_bar(self, description: str, viewmode: str): + cols = [ + urwid.Text( + [ + ("heading", description), + ] + ), + urwid.Text( + [ + " ", + ('heading', "["), + ('heading_key', "m"), + ('heading', (":%s]" % viewmode)), + ], + align="right" + ) + ] + contentview_status_bar = urwid.AttrWrap(urwid.Columns(cols), "heading") + return contentview_status_bar + def view_tcp_stream(self) -> urwid.Widget: flow = self.flow assert isinstance(flow, tcp.TCPFlow) @@ -139,6 +159,9 @@ class FlowDetails(tabs.Tabs): widget_lines = [] + + widget_lines.append(self._contentview_status_bar(viewmode.capitalize(), viewmode)) + for message in merged_messages: _, lines, _ = contentviews.get_tcp_content_view(viewmode, message["content"]) -- cgit v1.2.3