1mod server;
33
34pub mod app;
35#[cfg(any(feature = "basic-auth", feature = "jwt-auth"))]
36pub mod auth;
37#[cfg(feature = "config")]
38pub mod config;
39
40#[cfg(feature = "config")]
41pub use config::{Config, ConfigBuilder};
42
43#[cfg(feature = "di")]
44pub mod di;
45pub mod error;
46pub mod fs;
47#[cfg(feature = "__fuzzing")]
48#[doc(hidden)]
49pub mod fuzzing;
50pub mod headers;
51pub mod http;
52pub mod json;
53pub mod limits;
54#[cfg(feature = "middleware")]
55pub mod middleware;
56#[cfg(feature = "openapi")]
57pub mod openapi;
58#[cfg(feature = "rate-limiting")]
59pub mod rate_limiting;
60#[cfg(any(test, feature = "test"))]
61pub mod test;
62#[cfg(feature = "tls")]
63pub mod tls;
64#[cfg(feature = "tracing")]
65pub mod tracing;
66pub mod utils;
67#[cfg(feature = "ws")]
68pub mod ws;
69
70pub use crate::app::App;
71pub use crate::http::{
72 BoxBody, HttpBody, HttpRequest, HttpResponse, HttpResult, UnsyncBoxBody,
73 endpoints::args::{
74 byte_stream::ByteStream,
75 cancellation_token::CancellationToken,
76 client_ip::ClientIp,
77 file::File,
78 form::Form,
79 json::Json,
80 path::{NamedPath, Path},
81 query::Query,
82 },
83 response::builder::{RESPONSE_ERROR, SERVER_NAME},
84};
85
86#[cfg(feature = "middleware")]
87pub use http::HttpRequestMut;
88
89pub use limits::Limit;
90
91#[cfg(feature = "multipart")]
92pub use crate::http::endpoints::args::multipart::Multipart;
93
94pub mod routing {
96 pub use crate::app::router::{Route, RouteGroup};
97}
98
99#[doc(hidden)]
100pub use async_stream as __async_stream;