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 bootstrap::AppBootstrap;pub use bootstrap::AppBootstrapper;pub use bootstrap::BootstrapError;pub use bootstrap::BootstrapResult;pub use bootstrap::create_bootstrapper;pub use config::HttpConfig;pub use errors::HttpError;pub use errors::HttpResult;pub use errors::VersionedError;pub use errors::VersionedErrorBuilder;pub use errors::VersionedErrorExt;pub use server::Server;pub use foundation::BoxFuture;pub use foundation::GenericHandler;pub use foundation::IntoElifResponse;pub use foundation::RequestExtractor;pub use routing::header_versioned_router;pub use routing::path_versioned_router;pub use routing::versioned_router;pub use routing::ElifRouter;pub use routing::GroupBuilder;pub use routing::HttpMethod;pub use routing::ParamError;pub use routing::ParamType;pub use routing::PathParams;pub use routing::RouteBuilder;pub use routing::RouteGroup;pub use routing::RouteInfo;pub use routing::RouteParam as RoutingRouteParam;pub use routing::RouteRegistry;pub use routing::VersionedRouteBuilder;pub use routing::VersionedRouter;pub use request::ElifMethod;pub use request::ElifPath;pub use request::ElifQuery;pub use request::ElifRequest;pub use request::ElifState;pub use response::ElifHeaderMap;pub use response::ElifHeaderName;pub use response::ElifHeaderValue;pub use response::ElifResponse;pub use response::ElifStatusCode;pub use response::ResponseBody;pub use response::ApiResponse;pub use response::ElifJson;pub use response::JsonError;pub use response::JsonResponse;pub use response::ValidationErrors;pub use middleware::body_limit::BodyLimitConfig;pub use middleware::body_limit::BodyLimitInfo;pub use middleware::body_limit::BodyLimitMiddleware;pub use middleware::enhanced_logging::EnhancedLoggingMiddleware;pub use middleware::enhanced_logging::LoggingConfig as MiddlewareLoggingConfig;pub use middleware::enhanced_logging::RequestContext;pub use middleware::error_handler::error_handler;pub use middleware::error_handler::error_handler_with_config;pub use middleware::error_handler::ErrorHandlerConfig;pub use middleware::error_handler::ErrorHandlerMiddleware;pub use middleware::logging::LoggingMiddleware as LegacyLoggingMiddleware;pub use middleware::timeout::apply_timeout;pub use middleware::timeout::TimeoutConfig;pub use middleware::timeout::TimeoutInfo;pub use middleware::timeout::TimeoutMiddleware;pub use middleware::timing::format_duration;pub use middleware::timing::RequestStartTime;pub use middleware::timing::TimingMiddleware;pub use middleware::tracing::RequestMetadata;pub use middleware::tracing::TracingConfig;pub use middleware::tracing::TracingMiddleware;pub use middleware::v2::LoggingMiddleware;pub use middleware::v2::Middleware;pub use middleware::v2::MiddlewarePipelineV2 as MiddlewarePipeline;pub use middleware::v2::Next;pub use middleware::v2::SimpleAuthMiddleware;pub use middleware::versioning::default_versioning_middleware;pub use middleware::versioning::versioning_layer;pub use middleware::versioning::versioning_middleware;pub use middleware::versioning::ApiVersion;pub use middleware::versioning::RequestVersionExt;pub use middleware::versioning::VersionInfo;pub use middleware::versioning::VersionStrategy;pub use middleware::versioning::VersioningConfig;pub use middleware::versioning::VersioningLayer;pub use middleware::versioning::VersioningMiddleware;pub use middleware::versioning::VersioningService;pub use logging::init_logging;pub use logging::log_shutdown_info;pub use logging::log_startup_info;pub use logging::structured;pub use logging::LoggingConfig;pub use logging::context::LoggingContext;pub use controller::BaseController;pub use controller::Controller;pub use controller::ControllerRoute;pub use controller::ElifController;pub use controller::RouteParam as ControllerRouteParam;pub use controller::pagination::PaginationMeta;pub use controller::pagination::QueryParams;pub use handlers::elif_handler;pub use handlers::ElifHandler;pub use testing::create_test_container;pub use testing::get_test_port;pub use testing::test_error_handler;pub use testing::test_handler;pub use testing::test_http_config;pub use testing::test_json_handler;pub use testing::test_socket_addr;pub use testing::ErrorAssertions;pub use testing::HttpAssertions;pub use testing::TestContainerBuilder;pub use testing::TestQuery;pub use testing::TestServerBuilder;pub use testing::TestUser;pub use websocket::ConnectionEvent;pub use websocket::ConnectionId;pub use websocket::ConnectionRegistry;pub use websocket::ConnectionState;pub use websocket::MessageType;pub use websocket::SimpleWebSocketHandler;pub use websocket::WebSocketConfig;pub use websocket::WebSocketConnection;pub use websocket::WebSocketError;pub use websocket::WebSocketHandler;pub use websocket::WebSocketMessage;pub use websocket::WebSocketResult;pub use websocket::WebSocketServer;pub use websocket::WebSocketUpgrade;pub use errors::HttpError as ElifError;pub use response::ElifJson as Json;
Modules§
- bootstrap
- Bootstrap engine for automatic module discovery and server setup
- config
- controller
- errors
- foundation
- handlers
- logging
- middleware
- Middleware
- request
- response
- routing
- HTTP routing system for elif.rs
- server
- testing
- websocket
- WebSocket server foundation for elif framework
Macros§
- __
controller_ auto_ register - Helper macro for auto-registering controllers
- __
controller_ auto_ register_ ioc - Helper macro for auto-registering IoC controllers
- controller_
dispatch - Macro to help implement controller method dispatch
Updated to work with Arc
for thread-safe controller access - 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
- extract_
optional_ params - extract_
params - Convenience macros for parameter extraction
- info_
structured - Convenience macro for structured info logging
- log_
with_ context - Convenience macro for structured logging with context
- websocket_
handler - Macro for creating WebSocket handlers with clean syntax Simplified for foundation