[package]
name = "wasmtime-wasi-http"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
repository = "https://github.com/bytecodealliance/wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
description = "Experimental HTTP library for WebAssembly in Wasmtime"
[lints]
workspace = true
[package.metadata.docs.rs]
all-features = true
[features]
default = ["default-send-request"]
default-send-request = ["dep:tokio-rustls", "dep:rustls", "dep:webpki-roots"]
p3 = ["wasmtime-wasi/p3", "dep:tokio-util"]
component-model-async = ["futures/alloc", "wasmtime/component-model-async"]
[dependencies]
async-trait = { workspace = true }
bytes = { workspace = true }
futures = { workspace = true, default-features = false }
hyper = { workspace = true, features = ["full"] }
tokio = { workspace = true, features = [
"net",
"rt-multi-thread",
"time",
] }
tokio-util = { workspace = true, optional = true }
http = { workspace = true }
http-body = { workspace = true }
http-body-util = { workspace = true }
tracing = { workspace = true }
wasmtime-wasi = { workspace = true }
wasmtime-wasi-io = { workspace = true }
wasmtime = { workspace = true, features = ['component-model'] }
tokio-rustls = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
webpki-roots = { workspace = true, optional = true }
[dev-dependencies]
wasmtime-wasi-http = { path = ".", features = ['default-send-request'] }
test-programs-artifacts = { workspace = true }
test-log = { workspace = true }
tracing-subscriber = { workspace = true }
wasmtime = { workspace = true, features = ['default', 'anyhow'] }
tokio = { workspace = true, features = ['fs', 'macros'] }
futures = { workspace = true, default-features = false, features = ['alloc', 'async-await'] }
sha2 = "0.10.2"
base64 = { workspace = true }
flate2 = { workspace = true }
wasm-compose = { workspace = true }
tempfile = { workspace = true }
env_logger = { workspace = true }