cdumay_error_http 0.1.3

A Rust Library for JSON error
Documentation

cdumay_error_http

License: BSD-3-Clause cdumay_error_http on crates.io cdumay_error_http on docs.rs Source Code Repository

This crate provides structured mapping from HTTP status codes to custom application error types using the cdumay_core 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_core ecosystem.
  • Allows contextual error data and custom messages.
  • Supports conversion from u16

Usage

Define Error Kinds and Errors

The define_kinds! macro associates each HTTP status code with:

  • A numerical HTTP status code
  • A descriptive error label

The define_errors! macro maps those kinds into named error types (e.g., NotFound, TooManyRequests, etc.).

use std::collections::BTreeMap;
use serde_value::Value;
use cdumay_error_http::HTTPErrorConverter;

let mut context = BTreeMap::new();
context.insert("url".to_string(), Value::String("https://example.com".to_string()));

let error = HTTPErrorConverter::from_u16(404, context);
println!("{:?}", error);