bitreq 0.3.0

Simple, minimal-dependency HTTP client
Documentation
[package]
name = "bitreq"
version = "0.3.0"
authors = ["Jens Pitkanen <jens@neon.moe>", "Tobin C. Harding <me@tobin.cc>"]
description = "Simple, minimal-dependency HTTP client"
documentation = "https://docs.rs/bitreq"
repository = "https://github.com/rust-bitcoin/corepc"
readme = "README.md"
keywords = ["http", "https", "client", "request", "json"]
categories = ["web-programming::http-client"]
license = "ISC"
edition = "2021"
rust-version = "1.75.0"

[badges]
maintenance = { status = "experimental" }

[dependencies]
# For the json-using-serde feature:
serde = { version = "1.0.101", default-features = false, optional = true }
serde_json = { version = "1.0.0", default-features = false, features = ["std"], optional = true }

# For the proxy feature:
base64 = { version = "0.22", default-features = false, features = ["alloc"], optional = true }

# For rustls-based TLS:
rustls = { version = "0.21.1", default-features = false, optional = true }
rustls-native-certs = { version = "0.6.1", default-features = false, optional = true }
webpki-roots = { version = "0.25.2", default-features = false, optional = true }
rustls-webpki = { version = "0.101.0", default-features = false, optional = true }

# For native-tls-based TLS:
native-tls = { version = "0.2", default-features = false, optional = true }

# For the async feature:
tokio = { version = "1.0", default-features = false, features = ["rt", "net", "io-util", "time", "sync"], optional = true }
tokio-rustls = { version = "0.24", default-features = false, optional = true }
tokio-native-tls = { version = "0.3", default-features = false, optional = true }

log = { version = "0.4.0", default-features = false, optional = true }

[dev-dependencies]
tiny_http = "0.12"
tokio = { version = "1.0", default-features = false, features = ["macros", "rt-multi-thread", "time"] }

[package.metadata.docs.rs]
features = ["json-using-serde", "proxy", "https"]

[features]
default = ["std"]
std = []

log = ["dep:log"]
json-using-serde = ["serde", "serde_json"]
proxy = ["base64", "std"]

https = ["https-rustls"]
https-rustls = ["rustls", "webpki-roots", "rustls-webpki"]
https-rustls-probe = ["rustls", "rustls-native-certs"]
https-native-tls = ["native-tls"]

async = ["tokio", "std"]
async-https = ["async-https-rustls"]
async-https-rustls = ["async", "https-rustls", "tokio-rustls"]
async-https-rustls-probe = ["async", "https-rustls-probe", "tokio-rustls"]
async-https-native-tls = ["async", "https-native-tls", "tokio-native-tls"]

[[example]]
name = "hello"
required-features = ["std"]

[[example]]
name = "iterator"
required-features = ["std"]

[[example]]
name = "async_hello"
required-features = ["async"]

[lints.clippy]
# Allow `format!("{}", x)`instead of enforcing `format!("{x}")`
uninlined_format_args = "allow"

# vim: ft=conf