Source code for flask_restx.errors

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

import flask

from werkzeug.exceptions import HTTPException

from ._http import HTTPStatus

__all__ = (
    "abort",
    "RestError",
    "ValidationError",
    "SpecsError",
)


[docs]def abort(code=HTTPStatus.INTERNAL_SERVER_ERROR, message=None, **kwargs): """ Properly abort the current request. Raise a `HTTPException` for the given status `code`. Attach any keyword arguments to the exception for later processing. :param int code: The associated HTTP status code :param str message: An optional details message :param kwargs: Any additional data to pass to the error payload :raise HTTPException: """ try: flask.abort(code) except HTTPException as e: if message: kwargs["message"] = str(message) if kwargs: e.data = kwargs raise
[docs]class RestError(Exception): """Base class for all Flask-RESTX Errors""" def __init__(self, msg): self.msg = msg def __str__(self): return self.msg
[docs]class ValidationError(RestError): """A helper class for validation errors.""" pass
[docs]class SpecsError(RestError): """A helper class for incoherent specifications.""" pass