# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "oha"
version = "1.12.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_core]
version = "0.9.3"

[dependencies.rand_regex]
version = "0.18.0"

[dependencies.ratatui]
version = "0.29.0"
features = ["crossterm"]
default-features = false

[dependencies.regex-syntax]
version = "0.8.5"

[dependencies.rusqlite]
version = "0.37.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.7.1"
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.16.0"
default-features = false

[dev-dependencies.jsonschema]
version = "0.37.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.10.1"

[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"
