diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-05-12 15:31:26 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-05-12 15:31:26 +0100 |
commit | 4429e4bf2499b0b3fecc8637c2a7a932aab908e4 (patch) | |
tree | 0c17e1767434df9684c3d34263a161ba4fa1d9b9 /synapse/crypto/keyclient.py | |
parent | Update the end_token correctly, otherwise the token doesn't advance and the c... (diff) | |
parent | Merge pull request #143 from matrix-org/erikj/SYN-375 (diff) | |
download | synapse-4429e4bf2499b0b3fecc8637c2a7a932aab908e4.tar.xz |
Merge branch 'develop' into notifier_unify
Conflicts: synapse/notifier.py
Diffstat (limited to 'synapse/crypto/keyclient.py')
-rw-r--r-- | synapse/crypto/keyclient.py | 17 |
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"): |