From ca493ad7f3554df0016a3fb1e8d73de440372ba8 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sat, 23 Jul 2016 12:08:48 -0700 Subject: fix #1396, fix #1205, fix #1374 --- mitmproxy/console/flowlist.py | 6 ++++-- mitmproxy/console/flowview.py | 3 ++- mitmproxy/web/app.py | 3 ++- 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): -- cgit v1.2.3