openapi-core/openapi_core/schema/parameters/exceptions.py
Domen Kožar 6bdd1a6756
Rewrok exception handling
Main motivation behind this change is to be able to catch exceptions
as per raise_for_errors() helpers, but to inspect state of exceptions
instead of just getting a rendered string. This allows rendering
exceptions into JSON, for example.
2018-09-13 10:58:35 +01:00

40 lines
918 B
Python

from openapi_core.schema.exceptions import OpenAPIMappingError
import attr
class OpenAPIParameterError(OpenAPIMappingError):
pass
@attr.s
class MissingParameter(OpenAPIParameterError):
name = attr.ib()
def __str__(self):
return "Missing parameter (without default value): {0}".format(self.name)
@attr.s
class MissingRequiredParameter(OpenAPIParameterError):
name = attr.ib()
def __str__(self):
return "Missing required parameter: {0}".format(self.name)
@attr.s
class EmptyParameterValue(OpenAPIParameterError):
name = attr.ib()
def __str__(self):
return "Value of parameter cannot be empty: {0}".format(self.name)
@attr.s
class InvalidParameterValue(OpenAPIParameterError):
name = attr.ib()
original_exception = attr.ib()
def __str__(self):
return "Invalid parameter value for `{0}`: {1}".format(sef.name, self.original_exception)