summary refs log tree commit diff
path: root/synapse/crypto/keyclient.py
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-05-12 16:37:50 +0100
committerMark Haines <mark.haines@matrix.org>2015-05-12 16:37:50 +0100
commitcffe6057fb59a4db622132a84b5ef88cf81f6bfd (patch)
tree173ebcd9a8c7c04ee3a4f733995a47c515e9c81a /synapse/crypto/keyclient.py
parentMerge branch 'notifier_unify' into notifier_performance (diff)
parentMerge branch 'develop' into notifier_unify (diff)
downloadsynapse-cffe6057fb59a4db622132a84b5ef88cf81f6bfd.tar.xz
Merge branch 'notifier_unify' into notifier_performance
Conflicts:
	synapse/notifier.py
Diffstat (limited to 'synapse/crypto/keyclient.py')
-rw-r--r--synapse/crypto/keyclient.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/synapse/crypto/keyclient.py b/synapse/crypto/keyclient.py

index 4911f0896b..24f15f3154 100644 --- a/synapse/crypto/keyclient.py +++ b/synapse/crypto/keyclient.py
@@ -18,7 +18,9 @@ from twisted.web.http import HTTPClient from twisted.internet.protocol import Factory from twisted.internet import defer, reactor from synapse.http.endpoint import matrix_federation_endpoint -from synapse.util.logcontext import PreserveLoggingContext +from synapse.util.logcontext import ( + preserve_context_over_fn, preserve_context_over_deferred +) import simplejson as json import logging @@ -40,11 +42,14 @@ def fetch_server_key(server_name, ssl_context_factory, path=KEY_API_V1): for i in range(5): try: - with PreserveLoggingContext(): - protocol = yield endpoint.connect(factory) - server_response, server_certificate = yield protocol.remote_key - defer.returnValue((server_response, server_certificate)) - return + protocol = yield preserve_context_over_fn( + endpoint.connect, factory + ) + server_response, server_certificate = yield preserve_context_over_deferred( + protocol.remote_key + ) + defer.returnValue((server_response, server_certificate)) + return except SynapseKeyClientError as e: logger.exception("Error getting key for %r" % (server_name,)) if e.status.startswith("4"):