#![forbid(unsafe_code)]
#![warn(
missing_debug_implementations,
missing_docs,
rust_2018_idioms,
unreachable_pub
)]
#![cfg_attr(docsrs, feature(doc_auto_cfg, doc_cfg))]
#[macro_use]
mod macros;
#[doc(hidden)]
pub mod util;
pub mod body;
pub mod extract;
pub mod handler;
pub mod middleware;
pub mod request;
pub mod response;
pub mod service;
pub mod http {
pub use http::header::{self, HeaderMap, HeaderName, HeaderValue};
pub use http::method::{self, Method};
pub use http::status::{self, StatusCode};
pub use http::uri::{self, Uri};
pub use http::version::{self, Version};
pub use http::{Error, Extensions, Result};
}
pub type BoxError = Box<dyn std::error::Error + Send + Sync>;