aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/models/flow.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-02-08 04:19:25 +0100
committerMaximilian Hils <git@maximilianhils.com>2016-02-08 04:19:25 +0100
commitbdb763d9cff75eec4bb44d23bfc2ef6fa4871bcc (patch)
treeea0f24bb4d8d655a9f982ff5e5cd2c36d5c10f4e /libmproxy/models/flow.py
parente9934cc008417cb1aed694f7f24133abac0815eb (diff)
downloadmitmproxy-bdb763d9cff75eec4bb44d23bfc2ef6fa4871bcc.tar.gz
mitmproxy-bdb763d9cff75eec4bb44d23bfc2ef6fa4871bcc.tar.bz2
mitmproxy-bdb763d9cff75eec4bb44d23bfc2ef6fa4871bcc.zip
make stateobject simpler and stricter
Diffstat (limited to 'libmproxy/models/flow.py')
-rw-r--r--libmproxy/models/flow.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/libmproxy/models/flow.py b/libmproxy/models/flow.py
index 0ba374c9..10255dad 100644
--- a/libmproxy/models/flow.py
+++ b/libmproxy/models/flow.py
@@ -45,7 +45,7 @@ class Error(stateobject.StateObject):
# the default implementation assumes an empty constructor. Override
# accordingly.
f = cls(None)
- f.load_state(state)
+ f.set_state(state)
return f
def copy(self):
@@ -93,6 +93,12 @@ class Flow(stateobject.StateObject):
d.update(backup=self._backup)
return d
+ def set_state(self, state):
+ state.pop("version")
+ if "backup" in state:
+ self._backup = state.pop("backup")
+ super(Flow, self).set_state(state)
+
def __eq__(self, other):
return self is other
@@ -130,7 +136,7 @@ class Flow(stateobject.StateObject):
Revert to the last backed up state.
"""
if self._backup:
- self.load_state(self._backup)
+ self.set_state(self._backup)
self._backup = None
def kill(self, master):