cdumay_error_http
HTTP Error Converter
This crate provides structured mapping from HTTP status codes to custom application error types using the cdumay_error crate. It is especially useful when you want to handle HTTP error responses in a standardized and extensible way.
Features
- Maps common HTTP status codes (300–511) to well-defined application-specific errors.
- Integrates seamlessly with the
cdumay_errorecosystem. - Allows contextual error data and custom messages.
- Supports conversion from both
u16andhttp::StatusCode.
Usage
Define Error Kinds and Errors
The define_kinds! macro associates each HTTP status code with:
- A custom error code string (e.g.,
"HTTP-26760") - A numerical HTTP status code
- A descriptive error label
The define_errors! macro maps those kinds into named error types (e.g., HttpClientError404, HttpServerError500, etc.).
HTTP Error Conversion
Use the HTTPErrorConverter to map a numeric status code (or StatusCode) to a fully populated cdumay_error::Error.
use BTreeMap;
use Value;
use StatusCode;
use HTTPErrorConverter;
let mut context = new;
context.insert;
let error = from_status;
println!;