Module generate_responses_functions

Source
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.