sword-core 0.3.0

Structured web framework built on top of tokio ecosystem, providing powerful features for building robust web applications.
Documentation
mod application;
mod config;
mod controllers;
mod injectables;
mod interceptor;
mod layer_stack;
mod module;
mod shutdown;
mod state;

pub mod error {
    #[macro_use]
    mod macros;
    mod diagnostic;

    pub use diagnostic::{StartupDiagnostic, emit};
}

pub use application::*;
pub use config::*;
pub use controllers::*;
pub use injectables::*;
pub use interceptor::*;
pub use layer_stack::*;
pub use module::*;
pub use shutdown::*;
pub use state::*;

pub(crate) type RwMap<K, V> = parking_lot::RwLock<std::collections::HashMap<K, V>>;

#[macro_export]
macro_rules! inventory_submit {
    ( [ $( $registrar:expr ),* $(,)? ] ) => {
        $(
            const _: () = {
                inventory::submit! {
                    $registrar
                }
            };
        )*
    };
}