summary refs log tree commit diff
path: root/synapse/api
diff options
context:
space:
mode:
authorDavid Baker <dbkr@users.noreply.github.com>2015-01-28 15:41:24 +0000
committerDavid Baker <dbkr@users.noreply.github.com>2015-01-28 15:41:24 +0000
commitfddc7a080afffee66f715234c535f11b94a4f411 (patch)
treeefa2745186a2fde64cef7000f79d9e191d53dd13 /synapse/api
parentInitial cut of a shared base class for REST unit tests (diff)
parentUse %s instead of + (diff)
downloadsynapse-fddc7a080afffee66f715234c535f11b94a4f411.tar.xz
Merge pull request #35 from matrix-org/pushers2
Pushers branch (with fixes)
Diffstat (limited to 'synapse/api')
-rw-r--r--synapse/api/errors.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/synapse/api/errors.py b/synapse/api/errors.py

index 2b049debf3..5872e82d0f 100644 --- a/synapse/api/errors.py +++ b/synapse/api/errors.py
@@ -21,6 +21,7 @@ logger = logging.getLogger(__name__) class Codes(object): + UNRECOGNIZED = "M_UNRECOGNIZED" UNAUTHORIZED = "M_UNAUTHORIZED" FORBIDDEN = "M_FORBIDDEN" BAD_JSON = "M_BAD_JSON" @@ -34,6 +35,7 @@ class Codes(object): LIMIT_EXCEEDED = "M_LIMIT_EXCEEDED" CAPTCHA_NEEDED = "M_CAPTCHA_NEEDED" CAPTCHA_INVALID = "M_CAPTCHA_INVALID" + MISSING_PARAM = "M_MISSING_PARAM", TOO_LARGE = "M_TOO_LARGE" @@ -81,6 +83,34 @@ class RegistrationError(SynapseError): pass +class UnrecognizedRequestError(SynapseError): + """An error indicating we don't understand the request you're trying to make""" + def __init__(self, *args, **kwargs): + if "errcode" not in kwargs: + kwargs["errcode"] = Codes.UNRECOGNIZED + message = None + if len(args) == 0: + message = "Unrecognized request" + else: + message = args[0] + super(UnrecognizedRequestError, self).__init__( + 400, + message, + **kwargs + ) + + +class NotFoundError(SynapseError): + """An error indicating we can't find the thing you asked for""" + def __init__(self, *args, **kwargs): + if "errcode" not in kwargs: + kwargs["errcode"] = Codes.NOT_FOUND + super(NotFoundError, self).__init__( + 404, + "Not found", + **kwargs + ) + class AuthError(SynapseError): """An error raised when there was a problem authorising an event."""