148 lines
5.4 KiB
TOML
148 lines
5.4 KiB
TOML
[package]
|
|
name = "tower-http"
|
|
description = "Tower middleware and utilities for HTTP clients and servers"
|
|
version = "0.6.11"
|
|
authors = ["Tower Maintainers <team@tower-rs.com>"]
|
|
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.64"
|
|
|
|
[dependencies]
|
|
bitflags = "2.0.2"
|
|
bytes = "1"
|
|
http = "1.0"
|
|
pin-project-lite = "0.2.7"
|
|
tower-layer = "0.3.3"
|
|
tower-service = "0.3"
|
|
|
|
# optional dependencies
|
|
async-compression = { version = "0.4", optional = true, features = ["tokio"] }
|
|
base64 = { version = "0.22", optional = true }
|
|
futures-core = { version = "0.3", optional = true, default-features = false }
|
|
futures-util = { version = "0.3.14", optional = true, default-features = false }
|
|
http-body = { version = "1.0.0", optional = true }
|
|
http-body-util = { version = "0.1.0", optional = true }
|
|
http-range-header = { version = "0.4.0", optional = true }
|
|
mime = { version = "0.3.17", optional = true, default-features = false }
|
|
mime_guess = { version = "2", optional = true, default-features = false }
|
|
percent-encoding = { version = "2.1.0", optional = true }
|
|
url = { version = "2.5", 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.5", 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]
|
|
brotli = "8"
|
|
bytes = "1"
|
|
flate2 = "1.0"
|
|
futures-util = "0.3.14"
|
|
http-body = "1.0.0"
|
|
http-body-util = "0.1.0"
|
|
hyper = "1"
|
|
hyper-util = { version = "0.1", features = ["client-legacy", "http1", "server", "service", "tokio"] }
|
|
once_cell = "1"
|
|
serde_json = "1.0"
|
|
sync_wrapper = "1"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tower = { version = "0.5", features = ["buffer", "util", "retry", "make", "timeout"] }
|
|
tracing-subscriber = "0.3"
|
|
zstd = "0.13"
|
|
|
|
[features]
|
|
default = []
|
|
full = [
|
|
"add-extension",
|
|
"auth",
|
|
"catch-panic",
|
|
"compression-full",
|
|
"cors",
|
|
"decompression-full",
|
|
"follow-redirect",
|
|
"fs",
|
|
"limit",
|
|
"map-request-body",
|
|
"map-response-body",
|
|
"metrics",
|
|
"normalize-path",
|
|
"on-early-drop",
|
|
"propagate-header",
|
|
"redirect",
|
|
"request-id",
|
|
"sensitive-headers",
|
|
"set-header",
|
|
"set-status",
|
|
"timeout",
|
|
"trace",
|
|
"util",
|
|
"validate-request",
|
|
]
|
|
|
|
add-extension = []
|
|
auth = ["base64", "validate-request"]
|
|
catch-panic = ["tracing", "futures-util/std", "dep:http-body", "dep:http-body-util"]
|
|
cors = []
|
|
follow-redirect = ["futures-util", "dep:http-body", "dep:url", "tower/util"]
|
|
fs = ["dep:tokio", "tokio?/fs", "tokio?/io-util", "futures-core", "futures-util", "dep:http-body", "dep:http-body-util", "tokio-util/io", "dep:http-range-header", "mime_guess", "mime", "percent-encoding", "httpdate", "set-status", "futures-util/alloc"]
|
|
limit = ["dep:http-body", "dep:http-body-util"]
|
|
map-request-body = []
|
|
map-response-body = []
|
|
metrics = ["dep:http-body", "dep:tokio", "tokio?/time"]
|
|
normalize-path = []
|
|
on-early-drop = ["dep:http-body"]
|
|
propagate-header = []
|
|
redirect = []
|
|
request-id = ["uuid"]
|
|
sensitive-headers = []
|
|
set-header = []
|
|
set-status = []
|
|
timeout = ["dep:http-body", "dep:tokio", "tokio?/time"]
|
|
trace = ["dep:http-body", "tracing"]
|
|
util = ["tower"]
|
|
validate-request = ["mime"]
|
|
|
|
compression-br = ["dep:async-compression", "async-compression?/brotli", "futures-core", "dep:http-body", "tokio-util", "dep:tokio"]
|
|
compression-deflate = ["dep:async-compression", "async-compression?/zlib", "futures-core", "dep:http-body", "tokio-util", "dep:tokio"]
|
|
compression-full = ["compression-br", "compression-deflate", "compression-gzip", "compression-zstd"]
|
|
compression-gzip = ["dep:async-compression", "async-compression?/gzip", "futures-core", "dep:http-body", "tokio-util", "dep:tokio"]
|
|
compression-zstd = ["dep:async-compression", "async-compression?/zstd", "futures-core", "dep:http-body", "tokio-util", "dep:tokio"]
|
|
|
|
decompression-br = ["dep:async-compression", "async-compression?/brotli", "futures-core", "dep:http-body", "dep:http-body-util", "tokio-util", "dep:tokio"]
|
|
decompression-deflate = ["dep:async-compression", "async-compression?/zlib", "futures-core", "dep:http-body", "dep:http-body-util", "tokio-util", "dep:tokio"]
|
|
decompression-full = ["decompression-br", "decompression-deflate", "decompression-gzip", "decompression-zstd"]
|
|
decompression-gzip = ["dep:async-compression", "async-compression?/gzip", "futures-core", "dep:http-body", "dep:http-body-util", "tokio-util", "dep:tokio"]
|
|
decompression-zstd = ["dep:async-compression", "async-compression?/zstd", "futures-core", "dep:http-body", "dep:http-body-util", "tokio-util", "dep:tokio"]
|
|
|
|
# FIXME: rip this out come 0.7.0.
|
|
# ref: https://github.com/tower-rs/tower-http/pull/666#issuecomment-4382555061
|
|
tokio = []
|
|
async-compression = []
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[package.metadata.playground]
|
|
features = ["full"]
|
|
|
|
[package.metadata.cargo_check_external_types]
|
|
allowed_external_types = [
|
|
"bytes::*",
|
|
"http::*",
|
|
"http_body::*",
|
|
"mime::*",
|
|
"tokio::*",
|
|
"tower::*",
|
|
"tower_layer::*",
|
|
"tower_service::*",
|
|
"tracing::*",
|
|
"tracing_core::*",
|
|
]
|