bd1fd73ba0
Enhanced the base nym_http_api_client to reduce fragmentation and enable domain fronting: - Added SerializationFormat enum for explicit JSON/bincode choice (no auto-detection) - Added from_network() method to create clients from NymNetworkDetails with domain fronting - Added with_bincode() builder method for explicit serialization configuration - Set Accept header based on serialization preference - Added deprecation paths for NymApiClient wrapper and nym_api::Client re-export - Enabled domain fronting support via network defaults feature This is part of a broader effort to consolidate HTTP client implementations across the codebase, reducing ~500 lines of wrapper code and providing automatic domain fronting for censorship resistance.
51 lines
1.6 KiB
TOML
51 lines
1.6 KiB
TOML
[package]
|
|
name = "nym-http-api-client"
|
|
version = "0.1.0"
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
documentation.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[features]
|
|
default=["tunneling"]
|
|
tunneling=[]
|
|
network-defaults = ["dep:nym-network-defaults"]
|
|
|
|
[dependencies]
|
|
async-trait = { workspace = true }
|
|
bincode = { workspace = true }
|
|
reqwest = { workspace = true, features = ["json", "gzip", "deflate", "brotli", "zstd", "rustls-tls"] }
|
|
http.workspace = true
|
|
url = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
itertools = { workspace = true }
|
|
|
|
# used for decoding text responses (they were already implicitly included)
|
|
bytes = { workspace = true }
|
|
encoding_rs = { workspace = true }
|
|
mime = { workspace = true }
|
|
|
|
nym-http-api-common = { path = "../http-api-common", default-features = false }
|
|
nym-bin-common = { path = "../bin-common" }
|
|
nym-network-defaults = { path = "../network-defaults", optional = true }
|
|
|
|
[target."cfg(not(target_arch = \"wasm32\"))".dependencies]
|
|
hickory-resolver = { workspace = true, features = ["https-ring", "tls-ring", "webpki-roots"] }
|
|
|
|
# for request timeout until https://github.com/seanmonstar/reqwest/issues/1135 is fixed
|
|
[target."cfg(target_arch = \"wasm32\")".dependencies.wasmtimer]
|
|
workspace = true
|
|
features = ["tokio"]
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["rt", "macros"] }
|
|
|