Expand description
§HTTP Response Code Generation Macro
This module provides a macro for generating standardized HTTP response enums with consistent behavior and serialization.
§Features
- Generates enum variants for HTTP response codes
- Implements consistent methods for all response types
- Provides serialization to JSON and XML formats
- Standardizes error handling through unified response structures
- Supports both standard HTTP codes and custom internal codes
§Usage
use simbld_http::generate_responses_functions;
use strum_macros::EnumIter;
use simbld_http::traits::get_code_trait::GetCode;
use simbld_http::responses::CustomResponse;
generate_responses_functions! {
"Client Errors",
ResponsesClientCodes,
BadRequest => (400, "Bad Request", "Invalid request format", 4000, "BadRequest"),
Unauthorized => (401, "Unauthorized", "Authentication required", 4001, "Unauthorized"),
Forbidden => (403, "Forbidden", "Permission denied", 4003, "Forbidden"),
}
Each variant accepts 5 parameters:
- Standard HTTP status code (u16)
- Standard HTTP status name (string)
- Description message (string)
- Internal code (u16) for application-specific tracking
- Internal name (string) for application-specific reference
The generated enums implement common traits and provide methods for consistent response handling throughout the application.