#![forbid(unsafe_code)]
#![deny(
missing_copy_implementations,
rustdoc::missing_crate_level_docs,
missing_debug_implementations,
missing_docs,
nonstandard_style,
unused_qualifications
)]
#![doc = include_str!("../docs/root.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
mod api_conn_ext;
mod api_handler;
mod before_send;
mod body;
mod cancel_on_disconnect;
mod error;
mod from_conn;
mod halt;
#[cfg(any(feature = "serde_json", feature = "sonic-rs"))]
mod json;
mod state;
mod try_from_conn;
pub use api_conn_ext::ApiConnExt;
pub use api_handler::{ApiHandler, api};
pub use before_send::BeforeSend;
pub use body::Body;
pub use cancel_on_disconnect::{CancelOnDisconnect, cancel_on_disconnect};
pub use error::Error;
pub use from_conn::FromConn;
pub use halt::Halt;
#[cfg(any(feature = "serde_json", feature = "sonic-rs"))]
#[cfg_attr(docsrs, doc(cfg(any(feature = "serde_json", feature = "sonic-rs"))))]
pub use json::Json;
#[cfg(all(feature = "serde_json", feature = "sonic-rs"))]
compile_error!("cargo features \"serde_json\" and \"sonic-rs\" are mutually exclusive");
#[cfg(feature = "serde_json")]
#[cfg_attr(docsrs, doc(cfg(feature = "serde_json")))]
pub use serde_json::{Value, json};
#[cfg(feature = "sonic-rs")]
#[cfg_attr(docsrs, doc(cfg(feature = "sonic-rs")))]
pub use sonic_rs::{Value, json};
pub use state::State;
pub use try_from_conn::TryFromConn;
pub type Result<T> = std::result::Result<T, Error>;
#[cfg(doc)]
#[doc = include_str!("../docs/extractors.md")]
pub mod extractors {
#[doc = include_str!("../docs/extractors/custom.md")]
pub mod custom {}
}
#[cfg(doc)]
#[doc = include_str!("../docs/return_types.md")]
pub mod return_types {}
#[cfg(doc)]
#[doc = include_str!("../docs/error_handling.md")]
pub mod error_handling {}
#[cfg(doc)]
#[doc = include_str!("../docs/recipes.md")]
pub mod recipes {}
#[cfg(test)]
#[doc = include_str!("../README.md")]
mod readme {}