diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2017-03-07 18:32:56 +0100 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2017-03-09 19:08:59 +0100 |
commit | b1dd86d7ae7d6692eb3004a5e4b8bf6504af2635 (patch) | |
tree | 390188404fb81c409ab2ab17eb99cd2726655835 /mitmproxy/stateobject.py | |
parent | 98b589385519eb6b27f8be89bb1ba45940d45245 (diff) | |
download | mitmproxy-b1dd86d7ae7d6692eb3004a5e4b8bf6504af2635.tar.gz mitmproxy-b1dd86d7ae7d6692eb3004a5e4b8bf6504af2635.tar.bz2 mitmproxy-b1dd86d7ae7d6692eb3004a5e4b8bf6504af2635.zip |
make websocket flows serializable
fixes #2113
Diffstat (limited to 'mitmproxy/stateobject.py')
-rw-r--r-- | mitmproxy/stateobject.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mitmproxy/stateobject.py b/mitmproxy/stateobject.py index 1ab744a5..14159001 100644 --- a/mitmproxy/stateobject.py +++ b/mitmproxy/stateobject.py @@ -39,6 +39,14 @@ class StateObject(serializable.Serializable): state[attr] = val.get_state() elif _is_list(cls): state[attr] = [x.get_state() for x in val] + elif isinstance(val, dict): + s = {} + for k, v in val.items(): + if hasattr(v, "get_state"): + s[k] = v.get_state() + else: + s[k] = v + state[attr] = s else: state[attr] = val return state |