#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#[doc(hidden)]
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
mod consts {
pub const BUFF_SIZE: usize = 256;
pub const CHUNK_SIZE: usize = 16 * 1024;
}
pub mod internal;
mod thread_pool;
use http::*;
use internal::{encoding, handle, path};
#[macro_use]
pub mod trace;
pub mod error;
mod http;
pub mod middleware;
mod request;
mod response;
mod route;
mod server;
pub use self::{
content_type::Content,
cookie::{Cookie, SetCookie},
error::Error,
header::{Header, HeaderType},
http::{cookie, header, multipart, server_sent_events},
method::Method,
middleware::Middleware,
query::Query,
request::Request,
response::Response,
route::Route,
server::Server,
status::Status,
};
pub mod prelude {
pub use crate::{
error::{self, Error},
middleware::{MiddleResult, Middleware},
server_sent_events::ServerSentEventsExt,
Content, Cookie, Header, HeaderType, Method, Query, Request, Response, Server, SetCookie,
Status,
};
}
#[cfg(feature = "extensions")]
mod extensions;
#[cfg(feature = "extensions")]
pub mod extension {
pub use crate::extensions::{
date::{self, Date},
head::Head,
logger::{self, Logger},
ratelimit::RateLimiter,
real_ip::RealIp,
request_id::RequestId,
serve_static::{self, ServeStatic},
trace::Trace,
};
}