diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-02-16 15:10:00 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-02-16 15:10:00 +1300 |
commit | 33dac700fa5bc1779699d3d8f751e2e337f6f31a (patch) | |
tree | 85571b417a1bc0c4b0ca91014fcb29b49b529a46 /libmproxy/flow.py | |
parent | 0c6f846861f537e5ebf61a1c3ac536ca04fa5892 (diff) | |
download | mitmproxy-33dac700fa5bc1779699d3d8f751e2e337f6f31a.tar.gz mitmproxy-33dac700fa5bc1779699d3d8f751e2e337f6f31a.tar.bz2 mitmproxy-33dac700fa5bc1779699d3d8f751e2e337f6f31a.zip |
Switch over to new serialization format.
Remove BSON from contrib.
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r-- | libmproxy/flow.py | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 6031a009..921abe1d 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -3,7 +3,6 @@ with their responses, and provide filtering and interception facilities. """ import subprocess, base64, sys, json -from contrib import bson import proxy, threading, netstring class RunException(Exception): @@ -39,15 +38,12 @@ class Flow: def script_serialize(self): data = self.get_state() - data = bson.dumps(data) - return base64.encodestring(data) + return json.dumps(data) @classmethod def script_deserialize(klass, data): try: - data = base64.decodestring(data) - data = bson.loads(data) - # bson.loads doesn't define a particular exception on error... + data = json.loads(data) except Exception: return None return klass.from_state(data) @@ -86,12 +82,6 @@ class Flow: ) return f, se - def dump(self): - data = dict( - flows = [self.get_state()] - ) - return bson.dumps(data) - def get_state(self, nobackup=False): d = dict( request = self.request.get_state() if self.request else None, @@ -216,17 +206,9 @@ class State: f.error = err return f - def dump_flows(self): - data = dict( - flows =[i.get_state() for i in self.view] - ) - return bson.dumps(data) - - def load_flows(self, js): - data = bson.loads(js) - data = [Flow.from_state(i) for i in data["flows"]] - self.flow_list.extend(data) - for i in data: + def load_flows(self, flows): + self.flow_list.extend(flows) + for i in flows: self.flow_map[i.client_conn] = i def set_limit(self, limit): |