Uniformize spam-checker API, part 1: the Code enum. (#12703)

This commit is contained in:
David Teller 2022-05-20 14:53:25 +02:00 committed by GitHub
parent 71e8afe34d
commit 10280fc943
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

1
changelog.d/12703.misc Normal file
View file

@ -0,0 +1 @@
Convert namespace class `Codes` into a string enum.

View file

@ -17,6 +17,7 @@
import logging import logging
import typing import typing
from enum import Enum
from http import HTTPStatus from http import HTTPStatus
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union
@ -30,7 +31,11 @@ if typing.TYPE_CHECKING:
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class Codes: class Codes(str, Enum):
"""
All known error codes, as an enum of strings.
"""
UNRECOGNIZED = "M_UNRECOGNIZED" UNRECOGNIZED = "M_UNRECOGNIZED"
UNAUTHORIZED = "M_UNAUTHORIZED" UNAUTHORIZED = "M_UNAUTHORIZED"
FORBIDDEN = "M_FORBIDDEN" FORBIDDEN = "M_FORBIDDEN"
@ -265,7 +270,9 @@ class UnrecognizedRequestError(SynapseError):
"""An error indicating we don't understand the request you're trying to make""" """An error indicating we don't understand the request you're trying to make"""
def __init__( def __init__(
self, msg: str = "Unrecognized request", errcode: str = Codes.UNRECOGNIZED self,
msg: str = "Unrecognized request",
errcode: str = Codes.UNRECOGNIZED,
): ):
super().__init__(400, msg, errcode) super().__init__(400, msg, errcode)