Files
ldm0 932a7225ac refactor(network): preserve request header bytes across interception
Carry RequestHeaders through navigation, Fetch/XHR, workers, redirects and auth,
with explicit Unicode and ByteString conversions at protocol and WebIDL boundaries.
Share the raw curl header list with WebSocket transport and decode binary response
headers without UTF-8 replacement. Keep header memory charging concrete.

Cover opaque values, UTF-8 overrides, duplicates, redirect/auth continuation and
WebSocket handshakes with byte-level regression tests.
2026-09-21 03:54:12 +08:00

37 lines
1.9 KiB
TOML

[package]
license.workspace = true
name = "moli-websocket"
version = "0.1.0"
edition = "2024"
[features]
test-support = ["dep:rcgen", "dep:openssl", "dep:tokio-tungstenite", "dep:tokio-rustls", "dep:rustls", "dep:futures-util", "tokio/net", "tokio/io-util"]
[dependencies]
moli-header-field = { path = "../moli-header-field" }
base64 = "0.22"
moli-curl = { path = "../moli-curl" }
moli-crypto = { path = "../moli-crypto" }
futures-util = { version = "0.3", default-features = false, features = ["sink", "std"], optional = true }
http = "1"
moli-url = { path = "../moli-url" }
rcgen = { version = "0.13", default-features = false, features = ["aws_lc_rs", "pem"], optional = true }
openssl = { version = "0.10", optional = true }
rustls = { version = "0.23", default-features = false, features = ["aws_lc_rs", "logging", "prefer-post-quantum", "std", "tls12"], optional = true }
tokio = { version = "1.51.0", features = ["macros", "rt-multi-thread", "sync", "time"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "logging", "tls12"], optional = true }
tokio-tungstenite = { version = "0.28.0", default-features = false, features = ["handshake", "__rustls-tls"], optional = true }
url = "2.5.7"
[dev-dependencies]
futures-util = { version = "0.3", default-features = false, features = ["sink", "std"] }
rustls = { version = "0.23", default-features = false, features = ["aws_lc_rs", "logging", "prefer-post-quantum", "std", "tls12"] }
tokio = { version = "1.51.0", features = ["io-util", "macros", "net", "rt-multi-thread", "sync", "time"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "logging", "tls12"] }
tokio-tungstenite = { version = "0.28.0", default-features = false, features = ["handshake", "__rustls-tls"] }
rcgen = { version = "0.13", default-features = false, features = ["aws_lc_rs", "pem"] }
openssl = "0.10"
[lints]
workspace = true