aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/tools/console/flowdetailview.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2020-04-18 19:46:11 +0200
committerGitHub <noreply@github.com>2020-04-18 19:46:11 +0200
commit2774928319b706d8b6f85919f8811776342986c9 (patch)
tree5abef13928c30918d143db480190c2bfb5df1e9c /mitmproxy/tools/console/flowdetailview.py
parent408c9a6ff37a90c90cff381cce748e03c45f085d (diff)
parent8cd5e2d25b6db818518c195af9fcaa62bc46a63a (diff)
downloadmitmproxy-2774928319b706d8b6f85919f8811776342986c9.tar.gz
mitmproxy-2774928319b706d8b6f85919f8811776342986c9.tar.bz2
mitmproxy-2774928319b706d8b6f85919f8811776342986c9.zip
Merge pull request #3927 from mhils/tcp-ui
add tcp flow ui
Diffstat (limited to 'mitmproxy/tools/console/flowdetailview.py')
-rw-r--r--mitmproxy/tools/console/flowdetailview.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/mitmproxy/tools/console/flowdetailview.py b/mitmproxy/tools/console/flowdetailview.py
index 443ca526..fb2494e8 100644
--- a/mitmproxy/tools/console/flowdetailview.py
+++ b/mitmproxy/tools/console/flowdetailview.py
@@ -1,5 +1,7 @@
+import typing
import urwid
+import mitmproxy.flow
from mitmproxy import http
from mitmproxy.tools.console import common, searchable
from mitmproxy.utils import human
@@ -13,13 +15,19 @@ def maybe_timestamp(base, attr):
return "active"
-def flowdetails(state, flow: http.HTTPFlow):
+def flowdetails(state, flow: mitmproxy.flow.Flow):
text = []
sc = flow.server_conn
cc = flow.client_conn
- req = flow.request
- resp = flow.response
+ req: typing.Optional[http.HTTPRequest]
+ resp: typing.Optional[http.HTTPResponse]
+ if isinstance(flow, http.HTTPFlow):
+ req = flow.request
+ resp = flow.response
+ else:
+ req = None
+ resp = None
metadata = flow.metadata
if metadata is not None and len(metadata) > 0:
@@ -126,6 +134,12 @@ def flowdetails(state, flow: http.HTTPFlow):
maybe_timestamp(cc, "timestamp_tls_setup")
)
)
+ parts.append(
+ (
+ "Client conn. closed",
+ maybe_timestamp(cc, "timestamp_end")
+ )
+ )
if sc is not None and sc.timestamp_start:
parts.append(
@@ -147,6 +161,12 @@ def flowdetails(state, flow: http.HTTPFlow):
maybe_timestamp(sc, "timestamp_tls_setup")
)
)
+ parts.append(
+ (
+ "Server conn. closed",
+ maybe_timestamp(sc, "timestamp_end")
+ )
+ )
if req is not None and req.timestamp_start:
parts.append(