From 33dac700fa5bc1779699d3d8f751e2e337f6f31a Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Wed, 16 Feb 2011 15:10:00 +1300 Subject: Switch over to new serialization format. Remove BSON from contrib. --- libmproxy/flow.py | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'libmproxy/flow.py') 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): -- cgit v1.2.3