mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
JsonableError: Rename status_code and rely more on its default.
With #5598 there will soon be an application-level error code optionally associated with a `JsonableError`, so rename this field to make clear that it specifically refers to an HTTP status code. Also take this opportunity to eliminate most of the places that refer to it, which only do so to repeat the default value.
This commit is contained in:
@@ -5,12 +5,12 @@ from django.core.exceptions import PermissionDenied
|
||||
|
||||
class JsonableError(Exception):
|
||||
msg = None # type: Text
|
||||
status_code = None # type: int
|
||||
http_status_code = 400 # type: int
|
||||
|
||||
def __init__(self, msg, status_code=400):
|
||||
# type: (Text) -> None
|
||||
def __init__(self, msg, http_status_code=400):
|
||||
# type: (Text, int) -> None
|
||||
self.msg = msg
|
||||
self.status_code = status_code
|
||||
self.http_status_code = http_status_code
|
||||
|
||||
def __str__(self):
|
||||
# type: () -> str
|
||||
|
||||
@@ -11,18 +11,16 @@ from django.utils.translation import ugettext as _
|
||||
from zerver.lib.exceptions import JsonableError
|
||||
|
||||
class RequestVariableMissingError(JsonableError):
|
||||
def __init__(self, var_name, status_code=400):
|
||||
def __init__(self, var_name):
|
||||
self.var_name = var_name
|
||||
self.status_code = status_code
|
||||
|
||||
def to_json_error_msg(self):
|
||||
return _("Missing '%s' argument") % (self.var_name,)
|
||||
|
||||
class RequestVariableConversionError(JsonableError):
|
||||
def __init__(self, var_name, bad_value, status_code=400):
|
||||
def __init__(self, var_name, bad_value):
|
||||
self.var_name = var_name
|
||||
self.bad_value = bad_value
|
||||
self.status_code = status_code
|
||||
|
||||
def to_json_error_msg(self):
|
||||
return (_("Bad value for '%(var_name)s': %(value)s") %
|
||||
|
||||
@@ -286,7 +286,7 @@ class JsonErrorHandler(MiddlewareMixin):
|
||||
def process_exception(self, request, exception):
|
||||
# type: (HttpRequest, Exception) -> Optional[HttpResponse]
|
||||
if isinstance(exception, JsonableError):
|
||||
return json_error(exception.to_json_error_msg(), status=exception.status_code)
|
||||
return json_error(exception.to_json_error_msg(), status=exception.http_status_code)
|
||||
if request.error_format == "JSON":
|
||||
logging.error(traceback.format_exc())
|
||||
return json_error(_("Internal server error"), status=500)
|
||||
|
||||
@@ -56,10 +56,9 @@ import six
|
||||
LARGER_THAN_MAX_MESSAGE_ID = 10000000000000000
|
||||
|
||||
class BadNarrowOperator(JsonableError):
|
||||
def __init__(self, desc, status_code=400):
|
||||
# type: (str, int) -> None
|
||||
def __init__(self, desc):
|
||||
# type: (str) -> None
|
||||
self.desc = desc
|
||||
self.status_code = status_code
|
||||
|
||||
def to_json_error_msg(self):
|
||||
# type: () -> str
|
||||
|
||||
@@ -35,10 +35,10 @@ from six.moves import urllib
|
||||
import six
|
||||
|
||||
class PrincipalError(JsonableError):
|
||||
def __init__(self, principal, status_code=403):
|
||||
# type: (Text, int) -> None
|
||||
def __init__(self, principal):
|
||||
# type: (Text) -> None
|
||||
self.principal = principal # type: Text
|
||||
self.status_code = status_code # type: int
|
||||
self.http_status_code = 403 # type: int
|
||||
|
||||
def to_json_error_msg(self):
|
||||
# type: () -> Text
|
||||
|
||||
Reference in New Issue
Block a user