#![forbid(unsafe_code)]
pub mod app;
pub mod context;
pub mod cookie;
pub mod error;
pub mod handler;
pub mod middleware;
pub mod openapi;
pub mod response;
pub mod router;
pub mod rpc;
pub mod validation;
#[cfg(feature = "database")]
pub mod database;
#[cfg(feature = "websocket")]
pub mod websocket;
#[cfg(feature = "testing")]
pub mod testing;
#[cfg(feature = "session")]
pub mod session;
#[cfg(feature = "csrf")]
pub mod csrf;
#[cfg(any(feature = "jwt", feature = "api-key"))]
pub mod auth;
#[cfg(feature = "static-files")]
pub(crate) mod static_files;
pub use app::Ultimo;
pub use context::Context;
pub use error::{Result, UltimoError};
pub use rpc::{RpcRegistry, RpcRequest, RpcResponse};
pub use validation::validate;
pub mod prelude {
pub use crate::app::Ultimo;
pub use crate::context::Context;
pub use crate::error::{Result, UltimoError};
pub use crate::middleware;
pub use crate::rpc::{RpcRegistry, RpcRequest, RpcResponse};
pub use crate::validation::validate;
pub use serde::{Deserialize, Serialize};
pub use serde_json::json;
pub use validator::Validate;
#[cfg(feature = "database")]
pub use crate::database;
}