aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/flow.py
diff options
context:
space:
mode:
authorJake Drahos <drahos.jake@gmail.com>2015-06-11 11:40:03 -0500
committerJake Drahos <drahos.jake@gmail.com>2015-06-11 11:40:03 -0500
commite53a2426c153337fe25ef6dd13059cf2c4d0ab0b (patch)
treef6fa3bbe36d7914adf8930f224f5893a5067f0a6 /libmproxy/flow.py
parent8b998cfbeace0777293f3cef804c1bf239758273 (diff)
downloadmitmproxy-e53a2426c153337fe25ef6dd13059cf2c4d0ab0b.tar.gz
mitmproxy-e53a2426c153337fe25ef6dd13059cf2c4d0ab0b.tar.bz2
mitmproxy-e53a2426c153337fe25ef6dd13059cf2c4d0ab0b.zip
Marked flows not deleted on clear all
Marked flows survive a clear all unless all current flows are marked. Bug: They don't show up until another flow is added
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r--libmproxy/flow.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index 1a052f51..65aa2909 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -494,8 +494,19 @@ class FlowStore(FlowList):
self._recalculate_views()
def _clear(self):
+ marked_flows = []
+ for f in self._list:
+ if f.marked:
+ marked_flows.append(f)
+ if len(marked_flows) == len(self._list):
+ marked_flows = []
+
self._list = []
self._set = set()
+
+ for f in marked_flows:
+ self._add(f)
+
self._recalculate_views()
def _recalculate_views(self):