Source code for flask_restplus.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-Restplus Errors''' def __init__(self, msg): self.msg = msg def __str__(self): return self.msg
[docs]class ValidationError(RestError): '''An helper class for validation errors.''' pass
[docs]class SpecsError(RestError): '''An helper class for incoherent specifications.''' pass