# 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 = "2021"
rust-version = "1.88.0"
name = "http-cache-tower"
version = "1.0.0-alpha.6"
authors = [
    "Christian Haynes <06chaynes@gmail.com>",
    "Kat Marchán <kzm@zkat.tech>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP cache middleware for Tower/Hyper"
homepage = "https://http-cache.rs"
readme = "README.md"
keywords = [
    "cache",
    "http",
    "middleware",
    "tower",
    "hyper",
]
categories = [
    "caching",
    "web-programming::http-client",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/06chaynes/http-cache"

[features]
default = [
    "manager-cacache",
    "url-standard",
]
http-headers-compat = ["http-cache/http-headers-compat"]
manager-cacache = ["http-cache/manager-cacache"]
manager-cacache-bincode = ["http-cache/manager-cacache-bincode"]
manager-foyer = ["http-cache/manager-foyer"]
manager-moka = ["http-cache/manager-moka"]
manager-moka-bincode = ["http-cache/manager-moka-bincode"]
rate-limiting = [
    "http-cache/rate-limiting",
    "url",
]
streaming = ["http-cache/streaming"]
url-ada = ["http-cache/url-ada"]
url-standard = ["http-cache/url-standard"]

[lib]
name = "http_cache_tower"
path = "src/lib.rs"

[[example]]
name = "hyper_basic"
path = "examples/hyper_basic.rs"
required-features = ["manager-cacache"]

[[example]]
name = "hyper_streaming"
path = "examples/hyper_streaming.rs"
required-features = ["streaming"]

[[example]]
name = "tower_streaming_memory_profile"
path = "examples/tower_streaming_memory_profile.rs"
required-features = ["streaming"]

[[bench]]
name = "streaming_benchmark"
path = "benches/streaming_benchmark.rs"
harness = false
required-features = ["streaming"]

[dependencies.bytes]
version = "1.8.0"

[dependencies.http]
version = "1.2.0"

[dependencies.http-body]
version = "1.0.1"

[dependencies.http-body-util]
version = "0.1.2"

[dependencies.http-cache]
version = "1.0.0-alpha.6"
default-features = false

[dependencies.http-cache-semantics]
version = "3.0.0"

[dependencies.hyper]
version = "1.6.0"

[dependencies.tokio]
version = "1.43.0"
features = [
    "fs",
    "io-util",
    "rt",
]

[dependencies.tower]
version = "0.5.2"
features = ["util"]

[dependencies.url]
version = "2.5"
optional = true

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.http-body-util]
version = "0.1.2"

[dev-dependencies.hyper]
version = "1.6.0"
features = ["full"]

[dev-dependencies.hyper-util]
version = "0.1.14"
features = [
    "client-legacy",
    "http1",
    "http2",
]

[dev-dependencies.tempfile]
version = "3.13.0"

[dev-dependencies.tokio]
version = "1.43.0"
features = [
    "macros",
    "rt",
    "rt-multi-thread",
]

[dev-dependencies.tower]
version = "0.5.2"
features = ["util"]

[dev-dependencies.tower-test]
version = "0.4.0"

[dev-dependencies.url]
version = "2.5"
