aro 1.0.0

Aro — a Rust web framework using hexagonal architecture
Documentation
//! Aro — a Rust web framework using hexagonal architecture.
//!
//! This facade crate re-exports functionality from the underlying crates,
//! gated behind feature flags.

pub use aro_core as core;

#[cfg(feature = "web")]
pub use aro_web as web;

#[cfg(feature = "fletch")]
pub use aro_fletch as fletch;

#[cfg(feature = "macros")]
pub use aro_macros as macros;

// Re-export route attribute macros at the crate root for ergonomic use:
// `#[aro::get("/path")]` instead of `#[aro::macros::get("/path")]`
#[cfg(feature = "macros")]
pub use aro_macros::{delete, get, patch, post, put};

// Re-export App and routes! macro at the crate root for ergonomic use:
// `aro::App` instead of `aro::web::App`
// `aro::routes!` instead of `aro::web::routes!`
#[doc(hidden)]
#[cfg(feature = "web")]
pub use aro_web::__aro_route_register;
#[cfg(feature = "web")]
pub use aro_web::App;
#[cfg(feature = "web")]
pub use aro_web::routes;

// Re-export config module at the crate root:
// `aro::config` instead of `aro::web::config`
#[cfg(feature = "web")]
pub use aro_web::config;

// Re-export middleware module at the crate root:
// `aro::middleware` instead of `aro::web::middleware`
#[cfg(feature = "web")]
pub use aro_web::middleware;

// Re-export health module at the crate root:
// `aro::health` instead of `aro::web::health`
#[cfg(feature = "web")]
pub use aro_web::health;

#[cfg(feature = "test-utils")]
pub mod test {
    pub use aro_web::test::*;
}

pub mod prelude;