Skip to main content

barrzen_axum_core/
lib.rs

1//! Barrzen Axum Core
2//!
3//! Core components for building Axum applications:
4//! - Configuration and environment parsing
5//! - Startup banner
6//! - Build information
7//! - AppBuilder for router and middleware composition
8//! - Standard API response types
9//! - Core endpoints: /healthz, /readyz, /version
10
11pub mod app_builder;
12pub mod banner;
13pub mod build_info;
14pub mod config;
15pub mod handlers;
16pub mod response;
17
18pub use app_builder::AppBuilder;
19pub use build_info::BuildInfo;
20pub use config::{
21    AppConfig, BannerConfig, CacheBackend, CacheConfig, Config, ConfigError, CorsConfig,
22    Environment, FeatureFlags, HttpConfig, LogBackend, LogFormat, LoggingConfig,
23};
24pub use handlers::{CoreState, HealthCheck, ReadyChecker};
25pub use response::{ApiError, ApiResponse, ApiResult};
26
27#[cfg(test)]
28mod tests {
29    use super::*;
30
31    #[test]
32    fn core_crate_compiles() {
33        // Basic smoke test - verify re-exports work
34        let _ = Environment::Dev;
35        let _ = LogFormat::Pretty;
36        let _ = LogBackend::Tracing;
37        let _ = CacheBackend::Moka;
38        let _ = BuildInfo::default();
39    }
40}