oxihttp-client 0.2.0

OxiHTTP HTTP client implementation.
Documentation
[package]
name = "oxihttp-client"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "OxiHTTP HTTP client implementation."
keywords = ["http", "client", "pure-rust", "async"]
categories = ["web-programming::http-client", "network-programming", "asynchronous"]

[dependencies]
oxihttp-core   = { workspace = true }
http           = { workspace = true }
bytes          = { workspace = true }
http-body-util = { workspace = true }
hyper          = { workspace = true }
hyper-util     = { workspace = true }
tokio          = { workspace = true }
serde          = { workspace = true }
serde_json     = { workspace = true }
futures-core   = { workspace = true }
tower-service  = { workspace = true }
base64         = { workspace = true }
# TLS support (optional, M2)
oxitls           = { workspace = true, optional = true }
tokio-rustls     = { workspace = true, optional = true }
rustls           = { workspace = true, optional = true }
rustls-pki-types = { workspace = true, optional = true }
# Decompression support (optional)
oxiarc-deflate   = { workspace = true, optional = true }
# HTTP/3 support (optional)
oxiquic-h3       = { workspace = true, optional = true }

[features]
default = []
tls = ["dep:oxitls", "dep:tokio-rustls", "dep:rustls", "dep:rustls-pki-types"]
decompression = ["dep:oxiarc-deflate"]
socks = []
h3 = ["dep:oxiquic-h3", "dep:rustls"]

[dev-dependencies]
criterion      = { workspace = true }
tokio          = { workspace = true, features = ["rt", "rt-multi-thread", "macros"] }
hyper          = { workspace = true, features = ["http1", "server"] }
hyper-util     = { workspace = true }
http-body-util = { workspace = true }
bytes          = { workspace = true }

[[bench]]
name = "client_bench"
harness = false

[[bench]]
name = "client_memory"
harness = false