diff options
author | Richard van der Hoff <richard@matrix.org> | 2020-10-28 15:51:15 +0000 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2020-10-28 15:56:57 +0000 |
commit | b6ca69e4f109c745f022885ecb8aa86255f84ecf (patch) | |
tree | b7f9753346ab10425f93f9d77ebe937d112a6d57 /synapse/util/frozenutils.py | |
parent | 1.22.0 (diff) | |
download | synapse-b6ca69e4f109c745f022885ecb8aa86255f84ecf.tar.xz |
Remove frozendict_json_encoder and support frozendicts everywhere
Not being able to serialise `frozendicts` is fragile, and it's annoying to have to think about which serialiser you want. There's no real downside to supporting frozendicts, so let's just have one json encoder.
Diffstat (limited to '')
-rw-r--r-- | synapse/util/frozenutils.py | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/synapse/util/frozenutils.py b/synapse/util/frozenutils.py index bf094c9386..5f7a6dd1d3 100644 --- a/synapse/util/frozenutils.py +++ b/synapse/util/frozenutils.py @@ -13,8 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import json - from frozendict import frozendict @@ -49,23 +47,3 @@ def unfreeze(o): pass return o - - -def _handle_frozendict(obj): - """Helper for EventEncoder. Makes frozendicts serializable by returning - the underlying dict - """ - if type(obj) is frozendict: - # fishing the protected dict out of the object is a bit nasty, - # but we don't really want the overhead of copying the dict. - return obj._dict - raise TypeError( - "Object of type %s is not JSON serializable" % obj.__class__.__name__ - ) - - -# A JSONEncoder which is capable of encoding frozendicts without barfing. -# Additionally reduce the whitespace produced by JSON encoding. -frozendict_json_encoder = json.JSONEncoder( - allow_nan=False, separators=(",", ":"), default=_handle_frozendict, -) |