| [package] |
| name = "tower-http" |
| description = "Tower middleware and utilities for HTTP clients and servers" |
| version = "0.3.4" |
| authors = ["Tower Maintainers <[email protected]>"] |
| edition = "2018" |
| license = "MIT" |
| readme = "../README.md" |
| repository = "https://github.com/tower-rs/tower-http" |
| homepage = "https://github.com/tower-rs/tower-http" |
| categories = ["asynchronous", "network-programming", "web-programming"] |
| keywords = ["io", "async", "futures", "service", "http"] |
| rust-version = "1.51" |
| |
| [dependencies] |
| bitflags = "1.3.1" |
| bytes = "1" |
| futures-core = "0.3" |
| futures-util = { version = "0.3.14", default_features = false, features = [] } |
| http = "0.2.2" |
| http-body = "0.4.5" |
| pin-project-lite = "0.2.7" |
| tower-layer = "0.3" |
| tower-service = "0.3" |
| |
| # optional dependencies |
| async-compression = { version = "0.3", optional = true, features = ["tokio"] } |
| base64 = { version = "0.13", optional = true } |
| http-range-header = "0.3.0" |
| iri-string = { version = "0.4", optional = true } |
| mime = { version = "0.3", optional = true, default_features = false } |
| mime_guess = { version = "2", optional = true, default_features = false } |
| percent-encoding = { version = "2.1.0", optional = true } |
| tokio = { version = "1.6", optional = true, default_features = false } |
| tokio-util = { version = "0.7", optional = true, default_features = false, features = ["io"] } |
| tower = { version = "0.4.1", optional = true } |
| tracing = { version = "0.1", default_features = false, optional = true } |
| httpdate = { version = "1.0", optional = true } |
| uuid = { version = "1.0", features = ["v4"], optional = true } |
| |
| [dev-dependencies] |
| bytes = "1" |
| flate2 = "1.0" |
| brotli = "3" |
| futures = "0.3" |
| hyper = { version = "0.14", features = ["full"] } |
| once_cell = "1" |
| tokio = { version = "1", features = ["full"] } |
| tower = { version = "0.4.10", features = ["buffer", "util", "retry", "make", "timeout"] } |
| tracing-subscriber = "0.3" |
| uuid = { version = "1.0", features = ["v4"] } |
| serde_json = "1.0" |
| |
| [features] |
| default = [] |
| full = [ |
| "add-extension", |
| "auth", |
| "catch-panic", |
| "compression-full", |
| "cors", |
| "decompression-full", |
| "follow-redirect", |
| "fs", |
| "limit", |
| "map-request-body", |
| "map-response-body", |
| "metrics", |
| "propagate-header", |
| "redirect", |
| "request-id", |
| "sensitive-headers", |
| "set-header", |
| "set-status", |
| "timeout", |
| "trace", |
| "util", |
| ] |
| |
| add-extension = [] |
| auth = ["base64"] |
| catch-panic = ["tracing", "futures-util/std"] |
| cors = [] |
| follow-redirect = ["iri-string", "tower/util"] |
| fs = ["tokio/fs", "tokio-util/io", "tokio/io-util", "mime_guess", "mime", "percent-encoding", "httpdate", "set-status", "futures-util/alloc"] |
| limit = [] |
| map-request-body = [] |
| map-response-body = [] |
| metrics = ["tokio/time"] |
| propagate-header = [] |
| redirect = [] |
| request-id = ["uuid"] |
| sensitive-headers = [] |
| set-header = [] |
| set-status = [] |
| timeout = ["tokio/time"] |
| trace = ["tracing"] |
| util = ["tower"] |
| |
| compression-br = ["async-compression/brotli", "tokio-util", "tokio"] |
| compression-deflate = ["async-compression/zlib", "tokio-util", "tokio"] |
| compression-full = ["compression-br", "compression-deflate", "compression-gzip"] |
| compression-gzip = ["async-compression/gzip", "tokio-util", "tokio"] |
| |
| decompression-br = ["async-compression/brotli", "tokio-util", "tokio"] |
| decompression-deflate = ["async-compression/zlib", "tokio-util", "tokio"] |
| decompression-full = ["decompression-br", "decompression-deflate", "decompression-gzip"] |
| decompression-gzip = ["async-compression/gzip", "tokio-util", "tokio"] |
| |
| [package.metadata.docs.rs] |
| all-features = true |
| rustdoc-args = ["--cfg", "docsrs"] |
| |
| [package.metadata.playground] |
| features = ["full"] |