A middleware that turns exceptions into parsable string.
Inspired by Cinder’s faultwrapper.
-
class heat.api.middleware.fault.Fault(error)[source]
Bases: object
-
class heat.api.middleware.fault.FaultWrapper(application)[source]
Bases: heat.common.wsgi.Middleware
Replace error body with something the client can parse.
-
error_map = {'UnsupportedObjectError': <class 'webob.exc.HTTPBadRequest'>, 'ResourceTypeUnavailable': <class 'webob.exc.HTTPBadRequest'>, 'Invalid': <class 'webob.exc.HTTPBadRequest'>, 'PropertyUnspecifiedError': <class 'webob.exc.HTTPBadRequest'>, 'AttributeError': <class 'webob.exc.HTTPBadRequest'>, 'InvalidTenant': <class 'webob.exc.HTTPForbidden'>, 'ResourceNotAvailable': <class 'webob.exc.HTTPNotFound'>, 'ObjectFieldInvalid': <class 'webob.exc.HTTPBadRequest'>, 'RevertFailed': <class 'webob.exc.HTTPInternalServerError'>, 'InvalidTemplateReference': <class 'webob.exc.HTTPBadRequest'>, 'StackExists': <class 'webob.exc.HTTPConflict'>, 'ServerBuildFailed': <class 'webob.exc.HTTPInternalServerError'>, 'NotSupported': <class 'webob.exc.HTTPBadRequest'>, 'IncompatibleObjectVersion': <class 'webob.exc.HTTPBadRequest'>, 'ImmutableParameterModified': <class 'webob.exc.HTTPBadRequest'>, 'UserParameterMissing': <class 'webob.exc.HTTPBadRequest'>, 'InvalidBreakPointHook': <class 'webob.exc.HTTPBadRequest'>, 'Forbidden': <class 'webob.exc.HTTPForbidden'>, 'OrphanedObjectError': <class 'webob.exc.HTTPBadRequest'>, 'UnknownUserParameter': <class 'webob.exc.HTTPBadRequest'>, 'ResourcePropertyConflict': <class 'webob.exc.HTTPBadRequest'>, 'EventSendFailed': <class 'webob.exc.HTTPInternalServerError'>, 'StopActionFailed': <class 'webob.exc.HTTPInternalServerError'>, 'MissingCredentialError': <class 'webob.exc.HTTPBadRequest'>, 'ObjectActionError': <class 'webob.exc.HTTPBadRequest'>, 'ValueError': <class 'webob.exc.HTTPBadRequest'>, 'ReadOnlyFieldError': <class 'webob.exc.HTTPBadRequest'>, 'PhysicalResourceNameAmbiguity': <class 'webob.exc.HTTPBadRequest'>, 'InvalidTemplateSection': <class 'webob.exc.HTTPBadRequest'>, 'NotFound': <class 'webob.exc.HTTPNotFound'>, 'InvalidGlobalResource': <class 'webob.exc.HTTPInternalServerError'>, 'RequestLimitExceeded': <class 'webob.exc.HTTPBadRequest'>, 'EntityNotFound': <class 'webob.exc.HTTPNotFound'>, 'StackValidationFailed': <class 'webob.exc.HTTPBadRequest'>, 'InvalidTemplateVersion': <class 'webob.exc.HTTPBadRequest'>, 'ActionInProgress': <class 'webob.exc.HTTPConflict'>, 'ResourceActionNotSupported': <class 'webob.exc.HTTPBadRequest'>, 'InvalidSchemaError': <class 'webob.exc.HTTPBadRequest'>}
-
process_request(req)[source]