[package] name = "httpbandwidthspeedtester" version = "0.1.0" authors = ["richardsondev"] edition = "2021" rust-version = "1.86" description = "Measure HTTP/HTTPS download bandwidth with parallel range requests" license = "MIT" repository = "https://github.com/richardsondev/httpbandwidthspeedtester" homepage = "https://github.com/richardsondev/httpbandwidthspeedtester" readme = "README.md" keywords = ["http", "download", "bandwidth", "speedtest", "cli"] categories = ["command-line-utilities", "network-programming"] [lib] path = "src/lib.rs" [[bin]] name = "httpbandwidthspeedtester" path = "src/main.rs" [dependencies] clap = { version = "4", features = ["derive"] } hyper = { version = "1.6", features = ["client", "http1", "http2"] } hyper-tls = "0.6" hyper-util = { version = "0.1", features = ["client-legacy", "http1", "http2", "tokio"] } http-body-util = "0.1" tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync", "net"] } bytes = "1.11" chrono = "0.4" futures-util = "0.3" openssl = { version = "0.10.79", features = ["vendored"] } [dev-dependencies] wiremock = "0.6" tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync", "net", "process", "io-util"] } [profile.release] lto = "fat" codegen-units = 1 strip = true panic = "abort" [lints.rust] unsafe_code = "forbid" missing_docs = "deny" unreachable_pub = "deny" rust_2018_idioms = { level = "deny", priority = -1 } [lints.clippy] all = { level = "deny", priority = -1 } pedantic = { level = "deny", priority = -1 } nursery = { level = "deny", priority = -1 } # Idiomatic in this crate: types like `httpbandwidthspeedtester::Speed` # inside the `httpbandwidthspeedtester` crate are unavoidable here. module_name_repetitions = "allow" # h2/hyper/idna routinely ship multiple versions transitively; # tracked by cargo-deny separately. multiple_crate_versions = "allow"