diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-04-03 15:18:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-03 15:18:32 +0100 |
commit | 8da39ad98fbcc9c4d153ad6a32d7e0fed1f9c0ad (patch) | |
tree | e9ec751fe38217b35a34a38a01cb7019d261031e /synapse/storage | |
parent | Merge pull request #3048 from matrix-org/rav/use_simplejson (diff) | |
parent | Fix json encoding bug in replication (diff) | |
download | synapse-8da39ad98fbcc9c4d153ad6a32d7e0fed1f9c0ad.tar.xz |
Merge pull request #3049 from matrix-org/rav/use_staticjson
Use static JSONEncoders
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/events.py | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/synapse/storage/events.py b/synapse/storage/events.py index f3d65f4338..ece5e6c41f 100644 --- a/synapse/storage/events.py +++ b/synapse/storage/events.py @@ -14,15 +14,19 @@ # See the License for the specific language governing permissions and # limitations under the License. -from synapse.storage.events_worker import EventsWorkerStore +from collections import OrderedDict, deque, namedtuple +from functools import wraps +import logging +import simplejson as json from twisted.internet import defer -from synapse.events import USE_FROZEN_DICTS +from synapse.storage.events_worker import EventsWorkerStore from synapse.util.async import ObservableDeferred +from synapse.util.frozenutils import frozendict_json_encoder from synapse.util.logcontext import ( - PreserveLoggingContext, make_deferred_yieldable + PreserveLoggingContext, make_deferred_yieldable, ) from synapse.util.logutils import log_function from synapse.util.metrics import Measure @@ -30,16 +34,8 @@ from synapse.api.constants import EventTypes from synapse.api.errors import SynapseError from synapse.util.caches.descriptors import cached, cachedInlineCallbacks from synapse.types import get_domain_from_id - -from canonicaljson import encode_canonical_json -from collections import deque, namedtuple, OrderedDict -from functools import wraps - import synapse.metrics -import logging -import simplejson as json - # these are only included to make the type annotations work from synapse.events import EventBase # noqa: F401 from synapse.events.snapshot import EventContext # noqa: F401 @@ -71,10 +67,7 @@ state_delta_reuse_delta_counter = metrics.register_counter( def encode_json(json_object): - if USE_FROZEN_DICTS: - return encode_canonical_json(json_object) - else: - return json.dumps(json_object, ensure_ascii=False) + return frozendict_json_encoder.encode(json_object) class _EventPeristenceQueue(object): |