[package]
name = "wasmtime-wasi-http"
version.workspace = true
authors.workspace = true
edition.workspace = true
repository = "https://github.com/bytecodealliance/wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
description = "Experimental HTTP library for WebAssembly in Wasmtime"

[dependencies]
anyhow = { workspace = true }
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",
] }
http = { workspace = true }
http-body = { workspace = true }
http-body-util = { workspace = true }
tracing = { workspace = true }
wasmtime-wasi = { workspace = true, default-features = false, features = [
    "preview2",
] }
wasmtime = { workspace = true, features = ['component-model'] }

# The `ring` crate, used to implement TLS, does not build on riscv64 or s390x
[target.'cfg(not(any(target_arch = "riscv64", target_arch = "s390x")))'.dependencies]
tokio-rustls = { version = "0.24.0" }
rustls = { version = "0.21.6" }
webpki-roots = { version = "0.25.2" }

[dev-dependencies]
test-programs-artifacts = { workspace = true }
test-log = { workspace = true }
tracing-subscriber = { workspace = true }
wasmtime = { workspace = true, features = ['cranelift'] }
tokio = { workspace = true, features = ['macros'] }

[features]
default = ["sync"]
sync = ["wasmtime-wasi/sync"]
