mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 12:23:48 +01:00
Convert remote key resource REST layer to async/await. (#7020)
This commit is contained in:
parent
78a15b1f9d
commit
87972f07e5
2 changed files with 5 additions and 7 deletions
1
changelog.d/7020.misc
Normal file
1
changelog.d/7020.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Port `synapse.rest.keys` to async/await.
|
|
@ -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):
|
||||||
|
|
||||||
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):
|
||||||
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):
|
||||||
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:
|
||||||
|
|
Loading…
Reference in a new issue