Files
moli/moli-fetch/Cargo.toml
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

47 lines
1.6 KiB
TOML

[package]
license.workspace = true
name = "moli-fetch"
version = "0.1.0"
edition = "2024"
[features]
default = []
test-support = ["moli-cookie-jar/test-support"]
[dependencies]
moli-header-field = { path = "../moli-header-field" }
anyhow = "1.0.100"
cidr = "0.3.2"
crossbeam-channel = "0.5.15"
curl = { version = "0.4.49", default-features = false, features = ["brotli", "http2", "poll_7_68_0", "ssl", "static-curl"] }
curl-sys = { version = "0.4.87", default-features = false }
http = "1"
moli-browser-profile = { path = "../moli-browser-profile" }
moli-cookie-jar = { path = "../moli-cookie-jar" }
moli-curl = { path = "../moli-curl" }
moli-dns-resolver = { path = "../moli-dns-resolver" }
moli-http-cache = { path = "../moli-http-cache" }
moli-trace = { path = "../moli-trace" }
moli-url = { path = "../moli-url" }
moli-url-policy = { path = "../moli-url-policy" }
moli-web-bot-auth = { path = "../moli-web-bot-auth" }
moli-web-mime = { path = "../moli-web-mime" }
parking_lot = "0.12"
strum = { version = "0.28.0", features = ["derive"] }
tokio = { version = "1.51.0", features = ["rt", "sync"] }
tracing = "0.1.41"
url = "2.5.7"
wildcard = "0.3.0"
[dev-dependencies]
h2 = "0.4"
moli-cookie-jar = { path = "../moli-cookie-jar", features = ["test-support"] }
rcgen = { version = "0.13", default-features = false, features = ["aws_lc_rs", "pem"] }
tokio = { version = "1.51.0", features = ["io-util", "macros", "net", "rt", "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"] }
[lints]
workspace = true