From 469bd32582f764f9a29607efa4f5b04bd87961fb Mon Sep 17 00:00:00 2001 From: Nikita Stupin <18281368+nikitastupin@users.noreply.github.com> Date: Fri, 1 May 2020 20:57:27 +0300 Subject: Integrate contentviews to TCP flow details --- mitmproxy/tools/console/flowview.py | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'mitmproxy/tools') diff --git a/mitmproxy/tools/console/flowview.py b/mitmproxy/tools/console/flowview.py index 3fef70ce..65206d51 100644 --- a/mitmproxy/tools/console/flowview.py +++ b/mitmproxy/tools/console/flowview.py @@ -115,26 +115,21 @@ class FlowDetails(tabs.Tabs): if not flow.messages: return searchable.Searchable([urwid.Text(("highlight", "No messages."))]) - from_client = None - messages = [] - for message in flow.messages: - if message.from_client is not from_client: - messages.append(message.content) - from_client = message.from_client - else: - messages[-1] += message.content + viewmode = self.master.commands.call("console.flowview.mode") - from_client = flow.messages[0].from_client parts = [] - for message in messages: - parts.append( - ( - "head" if from_client else "key", - message - ) - ) - from_client = not from_client - return searchable.Searchable([urwid.Text(parts)]) + for message in flow.messages: + _, lines, _ = contentviews.get_tcp_content_view(viewmode, message.content) + + for line in lines: + if message.from_client: + line.insert(0, "--> ") + else: + line.insert(0, "<-- ") + + parts.append(urwid.Text(line)) + + return searchable.Searchable(parts) def view_details(self): return flowdetailview.flowdetails(self.view, self.flow) -- cgit v1.2.3