update V2 error response to

{status_code: 403,
 errors: [error: AuthError, message: token has expired}]
}
This commit is contained in:
Rebecca Law
2016-11-09 14:56:54 +00:00
parent 78e84801bd
commit 346d90e319
6 changed files with 128 additions and 25 deletions

View File

@@ -18,8 +18,12 @@ class AuthError(Exception):
def to_dict_v2(self):
return {
'status_code': self.code,
'message': self.short_message,
'fields': self.message
"errors": [
{
"error": "AuthError",
"message": self.short_message
}
]
}

View File

@@ -25,9 +25,13 @@ class InvalidRequest(Exception):
Version 2 of the public api error response.
'''
return {
"status_code": self.code,
"message": self.message,
"fields": self.fields
"status_code": self.status_code,
"errors": [
{
"error": self.__class__.__name__,
"message": self.message
}
]
}
def __str__(self):

View File

@@ -1,4 +1,6 @@
import json
from collections import OrderedDict
from jsonschema import Draft4Validator, ValidationError
@@ -16,12 +18,11 @@ def build_error_message(errors, schema):
field = "'{}' {}".format(e.path[0], e.schema.get('validationMessage')) if e.schema.get(
'validationMessage') else e.message
s = field.split("'")
field = {s[1]: s[2].strip()}
field = OrderedDict({"error": "ValidationError", "message": {s[1]: s[2].strip()}})
fields.append(field)
message = {
"status_code": 400,
"message": "Validation error occurred - {}".format(schema['title']),
"fields": fields
"errors": fields
}
return json.dumps(message)