aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/flow.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r--libmproxy/flow.py28
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):