This patch cleans up HTTPInvalidHeader and HTTPInvalidParam, and adds two additional, distinct classes to use when the header or param is missing altogether.
41 lines
1.3 KiB
ReStructuredText
41 lines
1.3 KiB
ReStructuredText
.. _errors:
|
|
|
|
Error Handling
|
|
==============
|
|
|
|
When a request results in an error condition, you *could* manually set the
|
|
error status, appropriate response headers, and even an error body using the
|
|
``resp`` object. However, Falcon tries to make things a bit easier and more
|
|
consistent by providing a set of error classes you can raise from within
|
|
your app. Falcon catches any exception that inherits from
|
|
``falcon.HTTPError``, and automatically converts it to an appropriate HTTP
|
|
response.
|
|
|
|
You may raise an instance of ``falcon.HTTPError`` directly, or use any one
|
|
of a number of predefined error classes that try to be idiomatic in
|
|
setting appropriate headers and bodies.
|
|
|
|
Base Class
|
|
----------
|
|
|
|
.. autoclass:: falcon.HTTPError
|
|
:members:
|
|
|
|
Mixins
|
|
------
|
|
|
|
.. autoclass:: falcon.http_error.NoRepresentation
|
|
:members:
|
|
|
|
Predefined Errors
|
|
-----------------
|
|
|
|
.. automodule:: falcon
|
|
:members: HTTPInvalidHeader, HTTPMissingHeader,
|
|
HTTPInvalidParam, HTTPMissingParam,
|
|
HTTPBadRequest, HTTPUnauthorized, HTTPForbidden, HTTPNotFound,
|
|
HTTPMethodNotAllowed, HTTPNotAcceptable, HTTPConflict,
|
|
HTTPLengthRequired, HTTPPreconditionFailed, HTTPUnsupportedMediaType,
|
|
HTTPRangeNotSatisfiable, HTTPInternalServerError, HTTPBadGateway,
|
|
HTTPServiceUnavailable,
|