[package] name = "tower-etag-cache" version = "0.1.0" edition = "2021" authors = ["billythedummy"] license = "MIT OR Apache-2.0" homepage = "https://github.com/billythedummy/tower-etag-cache" repository = "https://github.com/billythedummy/tower-etag-cache.git" readme = "README.md" keywords = ["cache", "async", "service", "middleware", "futures"] # at most 5 keywords per crate categories = ["asynchronous", "network-programming", "web-programming"] description = "A tower middleware for implementing ETag-based HTTP caching" include = ["/src", "/README.md"] [features] default = ["http-body-impl"] http-body-impl = ["dep:bytes", "dep:http-body"] simple-etag-cache-key = [] base64-blake3-body-etag = ["dep:data-encoding", "dep:blake3"] const-lru-provider = [ "dep:bytes", "dep:const-lru", "dep:http-body", "dep:hyper", "dep:num-traits", "dep:time", "dep:tokio", "dep:tokio-util", "simple-etag-cache-key", "base64-blake3-body-etag" ] [dependencies] blake3 = { version = "^1.0", optional = true } bytes = { version = "^1.0", optional = true } const-lru = { version = "^1.0", optional = true } data-encoding = { version = "^2", optional = true } http = "^0.2" http-body = { version = "^0.4", optional = true } hyper = { version = "^0.14", optional = true } pin-project = "^1.0" num-traits = { version = "^0.2", optional = true } time = { version = "^0.3", features = ["formatting"], optional = true } tokio = { version = "^1.0", features = ["rt", "sync"], optional = true } tokio-util = { version = "^0.7", optional = true } tower-layer = "^0.3" tower-service = "^0.3"