aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-07-23 12:08:48 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-07-23 12:09:19 -0700
commitca493ad7f3554df0016a3fb1e8d73de440372ba8 (patch)
treee94ad7b467c26aaf9f8300415fde03c6f976aa28
parentfcb906dc97914ad7d852d7e0c04e68121946e350 (diff)
downloadmitmproxy-ca493ad7f3554df0016a3fb1e8d73de440372ba8.tar.gz
mitmproxy-ca493ad7f3554df0016a3fb1e8d73de440372ba8.tar.bz2
mitmproxy-ca493ad7f3554df0016a3fb1e8d73de440372ba8.zip
fix #1396, fix #1205, fix #1374
-rw-r--r--mitmproxy/console/flowlist.py6
-rw-r--r--mitmproxy/console/flowview.py3
-rw-r--r--mitmproxy/web/app.py3
3 files changed, 8 insertions, 4 deletions
diff --git a/mitmproxy/console/flowlist.py b/mitmproxy/console/flowlist.py
index 6beac203..aba5759a 100644
--- a/mitmproxy/console/flowlist.py
+++ b/mitmproxy/console/flowlist.py
@@ -188,7 +188,8 @@ class ConnectionItem(urwid.WidgetWrap):
self.flow.accept_intercept(self.master)
signals.flowlist_change.send(self)
elif key == "d":
- self.flow.kill(self.master)
+ if not self.flow.reply.acked:
+ self.flow.kill(self.master)
self.state.delete_flow(self.flow)
signals.flowlist_change.send(self)
elif key == "D":
@@ -255,7 +256,8 @@ class ConnectionItem(urwid.WidgetWrap):
callback = self.save_flows_prompt,
)
elif key == "X":
- self.flow.kill(self.master)
+ if not self.flow.reply.acked:
+ self.flow.kill(self.master)
elif key == "enter":
if self.flow.request:
self.master.view_flow(self.flow)
diff --git a/mitmproxy/console/flowview.py b/mitmproxy/console/flowview.py
index 789066fc..598779fa 100644
--- a/mitmproxy/console/flowview.py
+++ b/mitmproxy/console/flowview.py
@@ -569,7 +569,8 @@ class FlowView(tabs.Tabs):
else:
self.view_next_flow(self.flow)
f = self.flow
- f.kill(self.master)
+ if not f.reply.acked:
+ f.kill(self.master)
self.state.delete_flow(f)
elif key == "D":
f = self.master.duplicate_flow(self.flow)
diff --git a/mitmproxy/web/app.py b/mitmproxy/web/app.py
index eaef887a..e55df1f6 100644
--- a/mitmproxy/web/app.py
+++ b/mitmproxy/web/app.py
@@ -230,7 +230,8 @@ class AcceptFlow(RequestHandler):
class FlowHandler(RequestHandler):
def delete(self, flow_id):
- self.flow.kill(self.master)
+ if not self.flow.reply.acked:
+ self.flow.kill(self.master)
self.state.delete_flow(self.flow)
def put(self, flow_id):