Skip to content
Snippets Groups Projects
Unverified Commit 87972f07 authored by Patrick Cloke's avatar Patrick Cloke Committed by GitHub
Browse files

Convert remote key resource REST layer to async/await. (#7020)

parent 78a15b1f
No related branches found
No related tags found
No related merge requests found
Port `synapse.rest.keys` to async/await.
...@@ -18,8 +18,6 @@ from typing import Dict, Set ...@@ -18,8 +18,6 @@ from typing import Dict, Set
from canonicaljson import encode_canonical_json, json from canonicaljson import encode_canonical_json, json
from signedjson.sign import sign_json from signedjson.sign import sign_json
from twisted.internet import defer
from synapse.api.errors import Codes, SynapseError from synapse.api.errors import Codes, SynapseError
from synapse.crypto.keyring import ServerKeyFetcher from synapse.crypto.keyring import ServerKeyFetcher
from synapse.http.server import ( from synapse.http.server import (
...@@ -125,8 +123,7 @@ class RemoteKey(DirectServeResource): ...@@ -125,8 +123,7 @@ class RemoteKey(DirectServeResource):
await self.query_keys(request, query, query_remote_on_cache_miss=True) await self.query_keys(request, query, query_remote_on_cache_miss=True)
@defer.inlineCallbacks async def query_keys(self, request, query, query_remote_on_cache_miss=False):
def query_keys(self, request, query, query_remote_on_cache_miss=False):
logger.info("Handling query for keys %r", query) logger.info("Handling query for keys %r", query)
store_queries = [] store_queries = []
...@@ -143,7 +140,7 @@ class RemoteKey(DirectServeResource): ...@@ -143,7 +140,7 @@ class RemoteKey(DirectServeResource):
for key_id in key_ids: for key_id in key_ids:
store_queries.append((server_name, key_id, None)) store_queries.append((server_name, key_id, None))
cached = yield self.store.get_server_keys_json(store_queries) cached = await self.store.get_server_keys_json(store_queries)
json_results = set() json_results = set()
...@@ -215,8 +212,8 @@ class RemoteKey(DirectServeResource): ...@@ -215,8 +212,8 @@ class RemoteKey(DirectServeResource):
json_results.add(bytes(result["key_json"])) json_results.add(bytes(result["key_json"]))
if cache_misses and query_remote_on_cache_miss: if cache_misses and query_remote_on_cache_miss:
yield self.fetcher.get_keys(cache_misses) await self.fetcher.get_keys(cache_misses)
yield self.query_keys(request, query, query_remote_on_cache_miss=False) await self.query_keys(request, query, query_remote_on_cache_miss=False)
else: else:
signed_keys = [] signed_keys = []
for key_json in json_results: for key_json in json_results:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment