diff options
author | Neil Johnson <neil@matrix.org> | 2018-08-17 14:34:10 +0100 |
---|---|---|
committer | Neil Johnson <neil@matrix.org> | 2018-08-17 14:34:10 +0100 |
commit | 3ee57bdcbba4d9c90d6ac0f8a14baf9ca210ae18 (patch) | |
tree | ac129344d773907ebd7b989b56436140f09e1e2c /synapse/api/errors.py | |
parent | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/server_not... (diff) | |
parent | Merge pull request #3707 from matrix-org/neilj/limit_exceeded_error (diff) | |
download | synapse-3ee57bdcbba4d9c90d6ac0f8a14baf9ca210ae18.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into neilj/server_notices_on_blocking
Diffstat (limited to 'synapse/api/errors.py')
-rw-r--r-- | synapse/api/errors.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/synapse/api/errors.py b/synapse/api/errors.py index 08f0cb5554..e26001ab12 100644 --- a/synapse/api/errors.py +++ b/synapse/api/errors.py @@ -224,15 +224,34 @@ class NotFoundError(SynapseError): class AuthError(SynapseError): """An error raised when there was a problem authorising an event.""" - def __init__(self, code, msg, errcode=Codes.FORBIDDEN, admin_uri=None): + + def __init__(self, *args, **kwargs): + if "errcode" not in kwargs: + kwargs["errcode"] = Codes.FORBIDDEN + super(AuthError, self).__init__(*args, **kwargs) + + +class ResourceLimitError(SynapseError): + """ + Any error raised when there is a problem with resource usage. + For instance, the monthly active user limit for the server has been exceeded + """ + def __init__( + self, code, msg, + errcode=Codes.RESOURCE_LIMIT_EXCEED, + admin_uri=None, + limit_type=None, + ): self.admin_uri = admin_uri - super(AuthError, self).__init__(code, msg, errcode=errcode) + self.limit_type = limit_type + super(ResourceLimitError, self).__init__(code, msg, errcode=errcode) def error_dict(self): return cs_error( self.msg, self.errcode, admin_uri=self.admin_uri, + limit_type=self.limit_type ) |