From 9c5c3c2b1adfe9e8d79742a1bd5080b3fc1fdcde Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 20 Feb 2011 09:36:13 +1300 Subject: Implement state loading that doesn't change object identity. We need this to let us load state from copied Flows returned from scripts. --- libmproxy/flow.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'libmproxy/flow.py') diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 03b8b309..3520cc93 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -99,11 +99,26 @@ class Flow: def load_state(self, state): self._backup = state["backup"] - self.request = proxy.Request.from_state(state["request"]) + if self.request: + self.request.load_state(state["request"]) + else: + self.request = proxy.Request.from_state(state["request"]) + if state["response"]: - self.response = proxy.Response.from_state(self.request, state["response"]) + if self.response: + self.response.load_state(state["response"]) + else: + self.response = proxy.Response.from_state(self.request, state["response"]) + else: + self.response = None + if state["error"]: - self.error = proxy.Error.from_state(state["error"]) + if self.error: + self.error.load_state(state["error"]) + else: + self.error = proxy.Error.from_state(state["error"]) + else: + self.error = None @classmethod def from_state(klass, state): -- cgit v1.2.3