diff options
-rw-r--r-- | mitmproxy/console/flowlist.py | 6 | ||||
-rw-r--r-- | mitmproxy/console/flowview.py | 3 | ||||
-rw-r--r-- | 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): |