[package] name = "webclaw-fetch" description = "HTTP client with browser TLS fingerprint impersonation via wreq" version.workspace = true edition.workspace = true license.workspace = true [dependencies] webclaw-core = { workspace = true } webclaw-pdf = { path = "../webclaw-pdf" } serde = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } tokio = { workspace = true } async-trait = "0.1" # Pinned to exact pre-release versions: wreq/wreq-util are release candidates # with no semver stability between rc.N builds (rc.29 broke the TLS + Response # API). An exact pin keeps `cargo build`, `cargo install` (which ignores # Cargo.lock), and the release workflow all on the version that compiles. wreq = { version = "=6.0.0-rc.28", features = ["cookies", "gzip", "brotli", "zstd", "deflate"] } wreq-util = "=3.0.0-rc.10" http = "1" bytes = "1" url = "2" rand = "0.8" quick-xml = { version = "0.37", features = ["serde"] } regex = "1" reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } serde_json.workspace = true calamine = "0.34" zip = "2" [dev-dependencies] tempfile = "3"