[package]
edition = "2021"
name = "bytehaul"
version = "0.1.3"
build = false
exclude = [
"/.claude/**",
"/.github/**",
"/.uv-cache/**",
"/AGENTS.md",
"/docs/private/**",
]
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async HTTP download library with resume, multi-connection, rate limiting, and checksum verification"
documentation = "https://docs.rs/bytehaul"
readme = "README.md"
keywords = [
"download",
"http",
"async",
"resume",
"range",
]
categories = [
"asynchronous",
"network-programming",
"web-programming::http-client",
]
license = "MIT"
repository = "https://github.com/triwinds/bytehaul"
[lib]
name = "bytehaul"
path = "src/lib.rs"
[[test]]
name = "m10_boundary"
path = "tests/m10_boundary.rs"
[[test]]
name = "m1_basic"
path = "tests/m1_basic.rs"
[[test]]
name = "m2_resume"
path = "tests/m2_resume.rs"
[[test]]
name = "m3_multiworker"
path = "tests/m3_multiworker.rs"
[[test]]
name = "m5_retry"
path = "tests/m5_retry.rs"
[[test]]
name = "m6_features"
path = "tests/m6_features.rs"
[[test]]
name = "m7_fault_stress"
path = "tests/m7_fault_stress.rs"
[[test]]
name = "m8_pause_resume"
path = "tests/m8_pause_resume.rs"
[[test]]
name = "m9_auto_filename"
path = "tests/m9_auto_filename.rs"
[[bench]]
name = "storage_bench"
path = "benches/storage_bench.rs"
harness = false
[dependencies.bincode]
version = "1"
[dependencies.bitvec]
version = "1"
features = ["serde"]
[dependencies.bytes]
version = "1"
[dependencies.crc32fast]
version = "1"
[dependencies.fastrand]
version = "2"
[dependencies.futures]
version = "0.3"
[dependencies.hickory-resolver]
version = "0.25"
features = [
"tokio",
"system-config",
]
default-features = false
[dependencies.md-5]
version = "0.10"
[dependencies.parking_lot]
version = "0.12"
[dependencies.reqwest]
version = "0.12"
features = [
"stream",
"charset",
"http2",
"macos-system-configuration",
"rustls-tls-native-roots",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.sha1]
version = "0.10"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.http]
version = "1"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
[dev-dependencies.warp]
version = "0.3"
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]