llm_config_api/
lib.rs

1//! REST API for LLM Config Manager
2//!
3//! This crate provides a REST API server for the LLM Config Manager using Axum.
4//!
5//! ## Features
6//! - RESTful API for configuration management
7//! - JSON request/response format
8//! - CORS support
9//! - Graceful shutdown
10//! - Health check endpoint
11//! - Comprehensive error handling
12//!
13//! ## Example
14//! ```no_run
15//! use llm_config_api::{serve, ServerConfig};
16//! use llm_config_core::ConfigManager;
17//! use std::sync::Arc;
18//!
19//! #[tokio::main]
20//! async fn main() {
21//!     let manager = Arc::new(ConfigManager::new(".llm-config").unwrap());
22//!     let config = ServerConfig::default();
23//!     serve(manager, config).await.unwrap();
24//! }
25//! ```
26
27pub mod middleware;
28pub mod routes;
29pub mod server;
30
31pub use middleware::{SecurityResponse, SecurityState};
32pub use routes::{ApiError, ApiState, ConfigResponse, ErrorResponse};
33pub use server::{create_router, serve, ServerConfig};