[package]
edition = "2024"
rust-version = "1.86"
name = "oha"
version = "1.13.0"
authors = ["hatoo <hato2000@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation."
readme = "README.md"
keywords = [
"cli",
"load-testing",
"performance",
"http",
]
categories = [
"command-line-utilities",
"network-programming",
"web-programming::http-client",
"development-tools::profiling",
]
license = "MIT"
repository = "https://github.com/hatoo/oha"
[features]
default = ["rustls"]
http3 = [
"dep:h3",
"dep:h3-quinn",
"dep:quinn-proto",
"dep:quinn",
"dep:http",
]
native-tls = [
"dep:native-tls",
"dep:tokio-native-tls",
]
rustls = [
"dep:rustls",
"dep:tokio-rustls",
"dep:rustls-native-certs",
"dep:rustls-pki-types",
]
vsock = ["dep:tokio-vsock"]
[lib]
name = "oha"
path = "src/lib.rs"
[[bin]]
name = "oha"
path = "src/main.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[dependencies.anyhow]
version = "1.0.86"
[dependencies.average]
version = "0.16.0"
[dependencies.aws-sign-v4]
version = "0.3"
[dependencies.base64]
version = "0.22.1"
[dependencies.byte-unit]
version = "5.1.4"
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4.5.9"
features = [
"derive",
"env",
]
[dependencies.clap-cargo]
version = "0.18.3"
[dependencies.float-ord]
version = "0.3.2"
[dependencies.h3]
version = "0.0.8"
optional = true
[dependencies.h3-quinn]
version = "0.0.10"
optional = true
[dependencies.hickory-resolver]
version = "0.25.2"
features = ["tokio"]
[dependencies.http]
version = "1.3.1"
optional = true
[dependencies.http-body-util]
version = "0.1.2"
[dependencies.humantime]
version = "2.1.0"
[dependencies.hyper]
version = "1.4"
features = [
"client",
"http1",
"http2",
]
[dependencies.hyper-util]
version = "0.1.6"
features = ["tokio"]
[dependencies.kanal]
version = "0.1.1"
[dependencies.libc]
version = "0.2.155"
[dependencies.native-tls]
version = "0.2.12"
features = ["alpn"]
optional = true
[dependencies.num_cpus]
version = "1.16.0"
[dependencies.quinn]
version = "0.11.7"
features = [
"aws-lc-rs",
"runtime-tokio",
]
optional = true
[dependencies.quinn-proto]
version = "0.11.10"
features = ["aws-lc-rs"]
optional = true
[dependencies.rand]
version = "0.9.1"
[dependencies.rand_regex]
version = "0.18.0"
[dependencies.ratatui]
version = "0.30.0"
features = ["crossterm"]
default-features = false
[dependencies.regex-syntax]
version = "0.8.5"
[dependencies.rusqlite]
version = "0.38.0"
features = ["bundled"]
[dependencies.rustls]
version = "0.23.18"
optional = true
[dependencies.rustls-native-certs]
version = "0.8.0"
optional = true
[dependencies.rustls-pki-types]
version = "1.7.0"
optional = true
[dependencies.serde]
version = "1.0.204"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.38.1"
features = ["full"]
[dependencies.tokio-native-tls]
version = "0.3.1"
optional = true
[dependencies.tokio-rustls]
version = "0.26.0"
optional = true
[dependencies.tokio-util]
version = "0.7.13"
[dependencies.tokio-vsock]
version = "0.7.2"
optional = true
[dependencies.url]
version = "2.5.2"
[dev-dependencies.axum]
version = "0.8.1"
features = ["http2"]
[dev-dependencies.axum-server]
version = "0.8.0"
features = ["tls-rustls"]
[dev-dependencies.bytes]
version = "1.6"
[dev-dependencies.ctor]
version = "0.6.1"
[dev-dependencies.float-cmp]
version = "0.10.0"
[dev-dependencies.http-mitm-proxy]
version = "0.18.0"
default-features = false
[dev-dependencies.jsonschema]
version = "0.41.0"
[dev-dependencies.lazy_static]
version = "1.5.0"
[dev-dependencies.predicates]
version = "3.1.0"
[dev-dependencies.rcgen]
version = "0.14.3"
features = ["aws_lc_rs"]
[dev-dependencies.regex]
version = "1.10.5"
[dev-dependencies.rstest]
version = "0.26.0"
[dev-dependencies.rstest_reuse]
version = "0.7.0"
[dev-dependencies.rustls]
version = "0.23.18"
[dev-dependencies.tempfile]
version = "3.10.1"
[target.'cfg(not(target_env = "msvc"))'.dependencies.tikv-jemallocator]
version = "0.6"
[target."cfg(unix)".dependencies.rlimit]
version = "0.11.0"
[target."cfg(unix)".dev-dependencies.actix-web]
version = "4"
[profile.pgo]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
panic = "abort"
overflow-checks = false
incremental = false
inherits = "release"
[profile.release-ci]
inherits = "pgo"