diff options
author | Richard van der Hoff <richard@matrix.org> | 2019-04-01 12:28:40 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2019-05-30 17:39:28 +0100 |
commit | 099829d5a95b913c47634d13391d6c9f200f0bde (patch) | |
tree | 4a2cb4079f916ca0a224f1acda247744c4967f08 /synapse/crypto/keyring.py | |
parent | Fix dropped logcontexts during high outbound traffic. (#5277) (diff) | |
download | synapse-099829d5a95b913c47634d13391d6c9f200f0bde.tar.xz |
use attr.s for VerifyKeyRequest
because namedtuple is awful
Diffstat (limited to '')
-rw-r--r-- | synapse/crypto/keyring.py | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py index c63f106cf3..e1e026214f 100644 --- a/synapse/crypto/keyring.py +++ b/synapse/crypto/keyring.py @@ -15,12 +15,12 @@ # limitations under the License. import logging -from collections import namedtuple import six from six import raise_from from six.moves import urllib +import attr from signedjson.key import ( decode_verify_key_bytes, encode_verify_key_base64, @@ -57,22 +57,26 @@ from synapse.util.retryutils import NotRetryingDestination logger = logging.getLogger(__name__) -VerifyKeyRequest = namedtuple( - "VerifyRequest", ("server_name", "key_ids", "json_object", "deferred") -) -""" -A request for a verify key to verify a JSON object. - -Attributes: - server_name(str): The name of the server to verify against. - key_ids(set(str)): The set of key_ids to that could be used to verify the - JSON object - json_object(dict): The JSON object to verify. - deferred(Deferred[str, str, nacl.signing.VerifyKey]): - A deferred (server_name, key_id, verify_key) tuple that resolves when - a verify key has been fetched. The deferreds' callbacks are run with no - logcontext. -""" +@attr.s(slots=True, cmp=False) +class VerifyKeyRequest(object): + """ + A request for a verify key to verify a JSON object. + + Attributes: + server_name(str): The name of the server to verify against. + key_ids(set[str]): The set of key_ids to that could be used to verify the + JSON object + json_object(dict): The JSON object to verify. + deferred(Deferred[str, str, nacl.signing.VerifyKey]): + A deferred (server_name, key_id, verify_key) tuple that resolves when + a verify key has been fetched. The deferreds' callbacks are run with no + logcontext. + """ + + server_name = attr.ib() + key_ids = attr.ib() + json_object = attr.ib() + deferred = attr.ib() class KeyLookupError(ValueError): |