Example #1
0
 def format_error(error):
     try:
         if isinstance(error, GraphQLLocatedError):
             return format_located_error(error)
     except Exception as error:
         return GraphQLView.format_error(error)
     else:
         return GraphQLView.format_error(error)
Example #2
0
def format_located_error(error):
    if isinstance(error.original_error, GraphQLLocatedError):
        return format_located_error(error.original_error)
    if isinstance(error.original_error, ZoasError):
        return {
            "message": error.original_error.message,
            "code": error.original_error.code,
        }
    return GraphQLView.format_error(error)
Example #3
0
    def format_error(error):
        if hasattr(error, 'original_error') and error.original_error:
            formatted = {"message": str(error.original_error)}
            if isinstance(error.original_error, UnavailableError):
                formatted['code'] = 503
            elif isinstance(error.original_error, ForbiddenActionError):
                formatted['code'] = 403
            elif isinstance(error.original_error, ConstraintViolationError):
                formatted['code'] = 422
            elif isinstance(error.original_error, ConflictingDataError):
                formatted['code'] = 409
            elif isinstance(error.original_error, InvalidMutationRequestError):
                formatted['code'] = 422
            elif isinstance(error.original_error, UnableToDeleteError):
                formatted['code'] = 422
            elif isinstance(error.original_error, UnknownDataError):
                formatted['code'] = 500
            return formatted

        return GraphQLView.format_error(error)
Example #4
0
    def format_error(error):
        if isinstance(error, Exception):
            print_exception(type(error), error, error.__traceback__)

        return GraphQLView.format_error(error)