1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! # lmrc-proxy
//!
//! HTTP reverse proxy and API gateway utilities for LMRC Stack applications.
//!
//! This library provides:
//! - HTTP reverse proxy with configurable behavior
//! - Subdomain-based routing
//! - Route resolution trait for flexible backend discovery
//! - Axum middleware for proxy and routing
//!
//! ## Quick Start
//!
//! ```rust
//! use lmrc_proxy::{
//! routing::{StaticRouteResolver, RouteResolver},
//! ProxyConfig,
//! };
//! use std::sync::Arc;
//!
//! # #[tokio::main]
//! # async fn main() {
//! let resolver = Arc::new(
//! StaticRouteResolver::new()
//! .add_route("api", "http://api-service:8080")
//! .add_route("admin", "http://admin-service:9000")
//! );
//!
//! // Use resolver to look up backend URLs
//! let backend = resolver.resolve("api").await;
//! assert_eq!(backend, Some("http://api-service:8080".to_string()));
//! # }
//! ```
// Re-export commonly used types
pub use ;
pub use ;
pub use ;
pub use ;