rust-web-server 17.26.0

An HTTP web framework and server for Rust supporting HTTP/1.1, HTTP/2, and HTTP/3. No third-party HTTP dependencies — parsing, routing, middleware, auth, WebSocket, SSE, caching, tracing, and MCP server are all built in.
Documentation

Build #3735781 2026-07-01 10:47:08

# rustc version rustc 1.98.0-nightly (f46ec5218 2026-06-30)

# docs.rs version docsrs 0.0.0 (964c90a45859fd8f9076e3cbe58470a5a4f4d4f7 2026-07-01 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "570f80804e390d7028f9409c2f02f42db97a2e1ceb48785acba0314dfac1e364" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260630-1.98.0-nightly-f46ec5218\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting rust-web-server v17.26.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `routes` [INFO] [stderr] --> src/macros/mod.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | //! The [`routes!`] macro builds an [`crate::state::AppWithState`], [INFO] [stderr] | ^^^^^^^ no item named `routes` in scope [INFO] [stderr] | [INFO] [stderr] = note: `macro_rules` named `routes` exists in this crate, but it is not in scope at this link's location [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Server::run` [INFO] [stderr] --> src/mcp/mod.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | //! [`Server::run`]. Unmatched requests fall through to the built-in [`App`] [INFO] [stderr] | ^^^^^^^^^^^ no item named `Server` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Server::run` [INFO] [stderr] --> src/mcp/mod.rs:192:21 [INFO] [stderr] | [INFO] [stderr] 192 | /// the server to [`Server::run`] (or [`Server::run_tls`]) as an [`Application`]. [INFO] [stderr] | ^^^^^^^^^^^ no item named `Server` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Server::run_tls` [INFO] [stderr] --> src/mcp/mod.rs:192:41 [INFO] [stderr] | [INFO] [stderr] 192 | /// the server to [`Server::run`] (or [`Server::run_tls`]) as an [`Application`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `Server` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `check` [INFO] [stderr] --> src/rate_limit/mod.rs:49:51 [INFO] [stderr] | [INFO] [stderr] 49 | /// Changes take effect on the next call to [`check`] or [`remaining`]. [INFO] [stderr] | ^^^^^ no item named `check` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `remaining` [INFO] [stderr] --> src/rate_limit/mod.rs:49:64 [INFO] [stderr] | [INFO] [stderr] 49 | /// Changes take effect on the next call to [`check`] or [`remaining`]. [INFO] [stderr] | ^^^^^^^^^ no item named `remaining` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Controller` [INFO] [stderr] --> src/router/mod.rs:61:65 [INFO] [stderr] | [INFO] [stderr] 61 | /// [`ConnectionInfo`]. Call [`Router::handle`] from inside a [`Controller`] [INFO] [stderr] | ^^^^^^^^^^ no item named `Controller` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Application::execute` [INFO] [stderr] --> src/router/mod.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | /// or an [`Application::execute`] implementation. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ no item named `Application` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Server::run` [INFO] [stderr] --> src/application/mod.rs:11:34 [INFO] [stderr] | [INFO] [stderr] 11 | /// Pass the implementation to [`Server::run`] or [`Server::run_tls`]. [INFO] [stderr] | ^^^^^^^^^^^ no item named `Server` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Server::run_tls` [INFO] [stderr] --> src/application/mod.rs:11:53 [INFO] [stderr] | [INFO] [stderr] 11 | /// Pass the implementation to [`Server::run`] or [`Server::run_tls`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `Server` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Header::get_header_list` [INFO] [stderr] --> src/controller/mod.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | /// with standard headers from [`Header::get_header_list`]) and must return it populated [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ no item named `Header` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Controller::process` [INFO] [stderr] --> src/response/mod.rs:24:42 [INFO] [stderr] | [INFO] [stderr] 24 | /// An HTTP response. Build one inside [`Controller::process`] and return it. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no item named `Controller` in scope [INFO] [stderr] [INFO] [stderr] warning: `rust-web-server` (lib doc) generated 12 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.95s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rust_web_server/index.html [INFO] running `Command { std: "docker" "inspect" "570f80804e390d7028f9409c2f02f42db97a2e1ceb48785acba0314dfac1e364", kill_on_drop: false }`