Crate elif_http

Source
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::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 controller::Controller;
pub use controller::BaseController;
pub use controller::QueryParams;
pub use controller::PaginationMeta;
pub use database::DatabaseServiceProvider;
pub use database::create_database_pool;
pub use database::get_database_pool;
pub use database::get_named_database_pool;

Modules§

config
HTTP server configuration
controller
Service-Oriented Controller System
database
Database Integration - Service providers for database connectivity
error
HTTP server error types
json
JSON handling utilities for requests and responses
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

Structs§

ElifHeaderMap
Framework-native header map - use instead of axum::http::HeaderMap
A set of HTTP headers
ElifStatusCode
Framework-native status codes - use instead of axum::http::StatusCode An HTTP status code (status-code in RFC 9110 et al.).