[package]
edition = "2024"
rust-version = "1.87"
name = "io-http"
version = "0.1.1"
authors = ["soywod <pimalaya.org@posteo.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP/1.X client library"
homepage = "https://pimalaya.org"
documentation = "https://docs.rs/io-http/latest/io_http"
readme = "README.md"
keywords = [
"io-free",
"no-std",
"coroutine",
"socket",
"http",
]
categories = [
"api-bindings",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pimalaya/io-http"
[package.metadata.docs.rs]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
client = []
default = ["rustls-ring"]
native-tls = [
"client",
"pimalaya-stream/native-tls",
"dep:anyhow",
"dep:pimalaya-stream",
]
rustls-aws = [
"client",
"pimalaya-stream/rustls-aws",
"dep:anyhow",
"dep:pimalaya-stream",
]
rustls-ring = [
"client",
"pimalaya-stream/rustls-ring",
"dep:anyhow",
"dep:pimalaya-stream",
]
vendored = ["pimalaya-stream?/vendored"]
[lib]
name = "io_http"
path = "src/lib.rs"
[[example]]
name = "std_http10"
path = "examples/std_http10.rs"
[[example]]
name = "std_http11"
path = "examples/std_http11.rs"
required-features = ["rustls-ring"]
[[example]]
name = "tokio_http11"
path = "examples/tokio_http11.rs"
[[test]]
name = "rfc1945"
path = "tests/rfc1945.rs"
[[test]]
name = "rfc9112"
path = "tests/rfc9112.rs"
[[test]]
name = "sse"
path = "tests/sse.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.base64]
version = "0.22"
features = ["alloc"]
default-features = false
[dependencies.httparse]
version = "1.10"
default-features = false
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.memchr]
version = "2.7"
default-features = false
[dependencies.pimalaya-stream]
version = "0.0.1"
optional = true
default-features = false
[dependencies.secrecy]
version = "0.10"
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.url]
version = "2.5"
default-features = false
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.rustls]
version = "0.23"
features = [
"logging",
"ring",
"std",
"tls12",
]
default-features = false
[dev-dependencies.rustls-platform-verifier]
version = "0.7"
[dev-dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
]
[dev-dependencies.tokio-rustls]
version = "0.26"
features = [
"logging",
"ring",
"tls12",
]
default-features = false
[dev-dependencies.url]
version = "2.5"
default-features = false