Cargo Features

[dependencies]
product-os-tower-http = { version = "0.0.3", default-features = false, features = ["std", "full", "add-extension", "cors", "follow-redirect", "limit", "map-request-body", "map-response-body", "normalize-path", "propagate-header", "redirect", "sensitive-headers", "set-header", "set-status", "util", "auth", "catch-panic", "fs", "metrics", "request-id", "timeout", "trace", "validate-request", "compression-br", "compression-deflate", "compression-full", "compression-gzip", "compression-zstd", "decompression-br", "decompression-deflate", "decompression-full", "decompression-gzip", "decompression-zstd"] }
default = std

The std feature is set by default whenever product-os-tower-http is added without default-features = false somewhere in the dependency tree.

std default = tower-http

Enables std of no-std-compat and product-os-http-body

full = add-extension, auth, catch-panic, compression-full, cors, decompression-full, follow-redirect, fs, limit, map-request-body, map-response-body, metrics, normalize-path, propagate-header, redirect, request-id, sensitive-headers, set-header, set-status, timeout, trace, util, validate-request
add-extension full?

Affects builder::ServiceBuilderExt.add_extension, no_std::add_extension

cors full?

Affects no_std::cors

follow-redirect full? = futures-util, iri-string

Enables util of product-os-tower

Affects builder::ServiceBuilderExt.follow_redirects, no_std::follow_redirect

limit full?

Affects builder::ServiceBuilderExt.request_body_limit, no_std::limit

map-request-body full?

Affects builder::ServiceBuilderExt.map_request_body, no_std::map_request_body

map-response-body full?

Affects builder::ServiceBuilderExt.map_response_body, no_std::map_response_body

normalize-path full?

Affects builder::ServiceBuilderExt.trim_trailing_slash, no_std::normalize_path

propagate-header full?

Affects builder::ServiceBuilderExt.propagate_header, no_std::propagate_header

redirect full?

Affects services::redirect

sensitive-headers full?

Affects builder::ServiceBuilderExt.sensitive_headers, builder::ServiceBuilderExt.sensitive_request_headers, builder::ServiceBuilderExt.sensitive_response_headers, no_std::sensitive_headers

set-header full?

Affects builder::ServiceBuilderExt.override_request_header, builder::ServiceBuilderExt.append_request_header, builder::ServiceBuilderExt.insert_request_header_if_not_present, builder::ServiceBuilderExt.override_response_header, builder::ServiceBuilderExt.append_response_header, builder::ServiceBuilderExt.insert_response_header_if_not_present, no_std::set_header

set-status fs? full?

Affects no_std::set_status

util full? = product-os-tower

Affects builder::ServiceBuilderExt

auth full? = base64, validate-request

std or tokio required

Affects no_std::auth

catch-panic full? = tracing

Enables std of futures-util

Affects builder::ServiceBuilderExt.catch_panic, no_std::catch_panic

fs full? = futures-util, httpdate, mime, mime_guess, percent-encoding, set-status, tracing

Enables http-range-header, tokio-util, alloc of futures-util, fs and io-util of tokio

Affects services::fs

metrics full?

Enables time of tokio

Affects no_std::metrics

request-id full? = uuid

Enables v4 of uuid

Affects builder::ServiceBuilderExt.set_request_id, builder::ServiceBuilderExt.set_x_request_id, builder::ServiceBuilderExt.propagate_request_id, builder::ServiceBuilderExt.propagate_x_request_id, no_std::request_id

timeout full?

Enables time of tokio

Affects no_std::timeout

trace full? = tracing

Affects builder::ServiceBuilderExt.trace_for_http, builder::ServiceBuilderExt.trace_for_grpc, no_std::trace

validate-request auth? full? = mime

Affects no_std::validate_request

compression-br compression-full? = futures-core, tokio, tokio-util

Enables brotli of async-compression

optional dependencies

compression-deflate compression-full? = futures-core, tokio, tokio-util

Enables zlib of async-compression

compression-full full? = compression-br, compression-deflate, compression-gzip, compression-zstd
compression-gzip compression-full? = futures-core, tokio, tokio-util

Enables gzip of async-compression

compression-zstd compression-full? = futures-core, tokio, tokio-util

Enables zstd of async-compression

decompression-br decompression-full? = futures-core, tokio, tokio-util

Enables brotli of async-compression

decompression-deflate decompression-full? = futures-core, tokio, tokio-util

Enables zlib of async-compression

decompression-full full? = decompression-br, decompression-deflate, decompression-gzip, decompression-zstd
decompression-gzip decompression-full? = futures-core, tokio, tokio-util

Enables gzip of async-compression

decompression-zstd decompression-full? = futures-core, tokio, tokio-util

Enables zstd of async-compression

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

futures-core compression-br? compression-deflate? compression-gzip? compression-zstd? decompression-br? decompression-deflate? decompression-gzip? decompression-zstd?
futures-util catch-panic? follow-redirect? fs?
async-compression compression-br? compression-deflate? compression-gzip? compression-zstd? decompression-br? decompression-deflate? decompression-gzip? decompression-zstd?
base64 auth?

Enables base64 ^0.21

iri-string follow-redirect?
mime fs? validate-request?
mime_guess fs?
percent-encoding fs?
tracing catch-panic? fs? trace?
httpdate fs?
uuid request-id?
tokio compression-br? compression-deflate? compression-gzip? compression-zstd? decompression-br? decompression-deflate? decompression-gzip? decompression-zstd? fs? metrics? timeout?
tokio-util compression-br? compression-deflate? compression-gzip? compression-zstd? decompression-br? decompression-deflate? decompression-gzip? decompression-zstd? fs?
tower-http std
product-os-tower follow-redirect? util?