Expand description
§elif-http
HTTP server core for the elif.rs LLM-friendly web framework.
This crate provides a NestJS-like HTTP server experience with:
- Clean, intuitive API that abstracts Axum complexity
- Integration with the elif-core DI container
- Built-in middleware pipeline
- Graceful shutdown handling
- Health check endpoints
- Framework-native routing system
Re-exports§
pub use server::Server;pub use config::HttpConfig;pub use error::HttpError;pub use error::HttpResult;pub use routing::HttpMethod;pub use routing::RouteInfo;pub use routing::RouteRegistry;pub use routing::ElifRouter;pub use routing::Route;pub use routing::RouteBuilder;pub use routing::PathParams;pub use routing::RouteParam;pub use routing::ParamError;pub use routing::ParamType;pub use routing::RouteGroup;pub use routing::GroupBuilder;pub use request::ElifRequest;pub use request::RequestExtractor;pub use request::ElifQuery;pub use request::ElifPath;pub use request::ElifState;pub use response::ElifResponse;pub use response::ResponseBody;pub use response::IntoElifResponse;pub use json::ElifJson;pub use json::JsonError;pub use json::JsonResponse;pub use json::ValidationErrors;pub use json::ApiResponse;pub use middleware::Middleware;pub use middleware::MiddlewarePipeline;pub use middleware::ErrorHandlingMiddleware;pub use middleware::logging::LoggingMiddleware;pub use middleware::enhanced_logging::EnhancedLoggingMiddleware;pub use middleware::enhanced_logging::LoggingConfig as MiddlewareLoggingConfig;pub use middleware::enhanced_logging::RequestContext;pub use middleware::timing::TimingMiddleware;pub use middleware::timing::RequestStartTime;pub use middleware::timing::format_duration;pub use middleware::tracing::TracingMiddleware;pub use middleware::tracing::TracingConfig;pub use middleware::tracing::RequestMetadata;pub use middleware::timeout::TimeoutMiddleware;pub use middleware::timeout::TimeoutConfig;pub use middleware::timeout::TimeoutInfo;pub use middleware::timeout::apply_timeout;pub use middleware::body_limit::BodyLimitMiddleware;pub use middleware::body_limit::BodyLimitConfig;pub use middleware::body_limit::BodyLimitInfo;pub use middleware::body_limit::limit_body_size;pub use middleware::body_limit::limits;pub use logging::LoggingConfig;pub use logging::init_logging;pub use logging::log_startup_info;pub use logging::log_shutdown_info;pub use logging::LoggingContext;pub use logging::structured;pub use controller::Controller;pub use controller::BaseController;pub use controller::QueryParams;pub use controller::PaginationMeta;pub use handler::ElifHandler;pub use handler::elif_handler;
Modules§
- config
- HTTP server configuration
- controller
- Service-Oriented Controller System
- error
- HTTP server error types
- handler
- Handler abstraction for elif.rs framework
- integration_
tests - End-to-end integration tests using pure framework abstractions
- json
- JSON handling utilities for requests and responses
- logging
- Structured Logging Integration
- middleware
- Middleware
- request
- Request abstraction for handling HTTP requests
- response
- Response abstraction for building HTTP responses
- routing
- HTTP routing system for elif.rs
- server
- Elif HTTP Server
- tests
- Tests for HTTP server functionality
Macros§
- debug_
structured - Convenience macro for structured debug logging
- elif_
route - Macro to create elif handlers more easily
- error_
structured - Convenience macro for structured error logging
- info_
structured - Convenience macro for structured info logging
- log_
with_ context - Convenience macro for structured logging with context
Structs§
- Elif
Header Map - Framework-native header map - use instead of axum::http::HeaderMap
A set of HTTP headers - Elif
Status Code - Framework-native status codes - use instead of axum::http::StatusCode
An HTTP status code (
status-codein RFC 9110 et al.).