Crate http_problem
source ·Expand description
HTTP Problem-based Error Handling Library
This crate provides a general mechanism for error handling based on the
RFC 7807 problem entity with the Problem
type.
Users can find many pre-defined errors at the http
and sql
modules.
The workflow for error handling with this library is as follow:
- Use the predefined errors/functions or define a new one with the
define_custom_type!
macro to returns errors in functions that returnResult<T, Problem>
(an alias is provided in the library).- You can also use the extensions traits
ResultExt
,ProblemResultExt
,OptionExt
to handle common cases.
- You can also use the extensions traits
- Catch any desired error with
ProblemResultExt::catch_err
.
Modules
- HTTP related well-known errors.
- Prelude imports for this crate.
- Definitions for global error reporting.
Macros
- Define a new custom problem type.
- Return early with an
AssertionError
if a condition is not satisfied. - Return early with an
UnprocessableEntity
if a condition is not satisfied.
Structs
Type Definitions
- An alias for a static
Cow<str>
. - Convenience alias for functions that can error ouy with
Problem
.