1mod request_id;
17mod app;
18mod config;
19mod error;
20mod handler;
21mod human;
22mod limits;
23mod middleware;
24mod plugin;
25mod raw;
26mod request;
27mod response;
28mod route_value;
29mod router;
30mod server;
31mod service;
32mod share;
33mod state;
34mod tracing_init;
35mod upgrade;
36#[cfg(any(test, feature = "testing"))]
37mod test_client;
38#[cfg(feature = "tls")]
39mod tls;
40
41pub use app::{App, BoundApp, CheckKind, CheckResult, Http, Server};
43pub use config::ConfigDoc;
44pub use error::{Error, IntoResponse, Result};
45pub use middleware::{logger, with_state, Next};
46pub use plugin::{
47 check_plugin_sdk, InstalledPlugin, Plugin, PluginMeta, PluginSdkVersion, SdkCompat,
48 PLUGIN_SDK_VERSION,
49};
50pub use request::{FormData, Request, Upload, UploadRules};
51pub use request_id::{ensure_request_id, request_id, RequestId};
52pub use response::{referer_or, Html, Json, NoContent, Redirect, Response, Text};
53pub use router::Router;
54pub use server::{ClientAddr, RateLimitIdentity};
55pub use service::{BackgroundService, Shutdown};
56pub use share::{Cell, Slot};
57pub use state::{MatchedRoute, MatchedRouteCapture};
58pub use tracing_init::{
59 parse_log_rotate, set_log_event_hook, LogConfig, LogEventHook, LogRecord, LogRotate,
60};
61#[cfg(any(test, feature = "testing"))]
62pub use service::{shutdown_channel, ShutdownSender};
63pub use upgrade::{OnUpgrade, UpgradePermit};
64#[cfg(any(test, feature = "testing"))]
65pub use test_client::{ClientRequest, RequestHook, ResponseAssert, TestClient};
66#[cfg(feature = "tls")]
67pub use tls::Tls;
68
69pub mod extend {
76 pub use crate::app::Bind;
77 pub use crate::plugin::{
78 check_plugin_sdk, InstalledPlugin, PluginMeta, PluginSdkVersion, SdkCompat,
79 PLUGIN_SDK_VERSION,
80 };
81 pub use crate::handler::{
82 BoxFuture, ErrorResponse, FallibleHandler, Handler, IntoHandler,
83 };
84 pub use crate::middleware::{
85 named, with_leaked, IntoMiddleware, IntoMwEntry, Middleware, MwEntry,
86 };
87 pub use crate::raw::{IntoRawHandler, RawHandler};
88 pub use crate::request::{FormData, RequestBuilder, Upload, UploadRules};
89 pub use crate::request_id::{ensure_request_id, request_id, RequestId};
90 pub use crate::response::{Body, BoxError, HttpBody, ResponseBody};
91 pub use crate::human::{parse_bytes, parse_duration};
92 pub use crate::limits::{tighten_deadline, Deadline, MaxBody, RequestTimeout};
93 pub use crate::route_value::{BuildCtx, MetaMap, Needs, RouteValue};
94 pub use crate::router::{
95 join_paths, normalize_path, to_brace_path, RouteEntry, RouteTable,
96 };
97 pub use crate::service::wait_shutdown;
98 pub use crate::share::{Cell, Slot};
99 pub use crate::state::{
100 Extensions, MatchedMeta, MatchedMetaCapture, MatchedRoute, MatchedRouteCapture, StateMap,
101 TypeMap,
102 };
103 pub use crate::tracing_init::{
104 ensure_tracing, parse_log_rotate, set_log_event_hook, LogConfig, LogEventHook, LogRecord,
105 LogRotate,
106 };
107}