Files
moli/moli-protocol-server/Cargo.toml
T
ldm0 d0f8c2b924 perf(protocol): declare routes once with a trailing-slash layer
Declare each protocol path once and normalize supported trailing slashes
before Router matching. Generate the final-parameter compatibility aliases
needed for empty captures and preserve queries, request contents, discovery
paths and method errors. Registered matches fall from 131 to 76.

Resolve Router state before creating the outer make-service so new
connections clone the completed service. Cover aliases, shared sessions,
POST bodies, request preservation and method-not-allowed responses.

Validation on the unchanged final source tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast (20,505 passed, 18 existing skips).
2026-10-21 23:16:23 +08:00

42 lines
1.4 KiB
TOML

[package]
name = "moli-protocol-server"
version = "0.1.0"
edition = "2024"
license.workspace = true
[dependencies]
anyhow = "1.0.100"
axum = { version = "0.8.6", features = ["ws"] }
base64 = "0.22"
flate2 = "1.1.9"
futures-util = "0.3.31"
moli-bounded-json = { path = "../moli-bounded-json" }
moli-cookie-jar = { path = "../moli-cookie-jar" }
moli-core = { path = "../moli-core" }
moli-fetch = { path = "../moli-fetch" }
moli-html-input-type = { path = "../moli-html-input-type" }
moli-protocol = { path = "../moli-protocol" }
moli-protocol-cdp = { path = "../moli-protocol-cdp" }
moli-protocol-webdriver-bidi = { path = "../moli-protocol-webdriver-bidi" }
moli-protocol-webdriver-classic = { path = "../moli-protocol-webdriver-classic" }
moli-trace = { path = "../moli-trace" }
parking_lot = "0.12"
percent-encoding = "2.3"
serde_json = "1.0.145"
socket2 = { version = "0.6.3", features = ["all"] }
tokio = { version = "1.51.0", features = ["io-std", "io-util", "macros", "net", "rt-multi-thread", "signal", "sync"] }
tracing = "0.1.41"
tower = { version = "0.5.2", default-features = false, features = ["util"] }
url = "2.5.7"
[dev-dependencies]
moli-browser-profile = { path = "../moli-browser-profile" }
moli-cookie-cache = { path = "../moli-cookie-cache" }
moli-protocol = { path = "../moli-protocol", features = ["test-support"] }
png = "0.18"
time = "0.3"
tokio-tungstenite = "0.28.0"
[lints]
workspace = true