Cargo Features

ProductOS-Request has no features set by default.

[dependencies]
product-os-request = { version = "0.0.53", features = ["uri", "method", "response", "request", "method_std", "response_std", "request_std", "std_base", "std_reqwest", "std_hyper", "hyper_timeout", "hyper_compression", "hyper_cookies", "hyper_proxy", "std_hyper_full", "std", "json", "form", "stream", "stream_reqwest", "stream_hyper"] }
default

NO DEFAULT - Users must explicitly choose implementation

uri = product-os-http

Core features (no_std compatible)

method request? = product-os-http, serde

Enables derive of serde

Support for serialize/deserialize objects

Affects method::Method

response request? = product-os-http, product-os-http-body, tracing

Affects response::ProductOSResponse

request = bytes, futures-core, method, product-os-http, product-os-http-body, response, serde, tracing

Enables derive of serde

Affects body::BodyType, client::ProductOSClient, error::ProductOSRequestError, policy::RedirectPolicy, protocol::Protocol, protocol::Proxy, request::ProductOSRequest, requester::ProductOSRequester

method_std request_std? std_base? = serde

Std-based features (shared between implementations)

Enables std of product-os-http, derive of serde

Affects method::Method

response_std request_std? std_base? = tracing

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

Affects response::ProductOSResponse

request_std std_base? = bytes, futures-core, method_std, response_std, serde, tracing

Enables derive of serde, std of product-os-http and product-os-http-body

Affects body::BodyType, client::ProductOSClient, client::ProductOSRequestClient, client::ProductOSRequestClient, error::ProductOSRequestError, policy::RedirectPolicy, protocol::Protocol, protocol::Proxy, request::ProductOSRequest, requester::ProductOSRequester, client::ProductOSRequestClient

std_base std_hyper? std_reqwest? = method_std, request_std, response_std

Base std features (shared)

Enables std of no-std-compat, derive of serde

std_reqwest std? = reqwest, std_base

Reqwest-based implementation

Enables brotli, cookies, gzip, json and rustls-tls of reqwest ^0.12.12

Reqwest-based HTTP client (optional)

std_hyper hyper_compression? hyper_cookies? hyper_proxy? hyper_timeout? std_hyper_full? = futures-util, http-body-util, hyper, hyper-rustls, hyper-util, pin-project-lite, rustls, rustls-native-certs, std_base, tokio, tokio-rustls

Hyper-based implementation with FULL feature parity

Affects client::ProductOSRequestClient, client::ProductOSRequestClient

hyper_timeout std_hyper_full? = std_hyper, tower

Hyper optional features

Enables tokio

hyper_compression std_hyper_full? = std_hyper, tower-http
hyper_cookies std_hyper_full? = cookie_store, std_hyper, url
hyper_proxy std_hyper_full? = hyper-socks2, std_hyper, tower
std_hyper_full = hyper_compression, hyper_cookies, hyper_proxy, hyper_timeout, std_hyper

Hyper with all optional features

std = std_reqwest

Backward compatibility alias (deprecated, users should use std_reqwest)

Affects client::ProductOSRequestClient, client::ProductOSRequestClient

json = serde_json

Optional content type support

Affects client::ProductOSClient.set_body_json, client::ProductOSClient.json

form = serde_urlencoded

Affects client::ProductOSClient.set_body_form

stream stream_hyper? stream_reqwest?

Streaming support

Enables stream of product-os-http-body

Affects client::ProductOSClient.request_stream, client::ProductOSClient.request_stream_raw

stream_reqwest = stream

Enables stream of reqwest ^0.12.12

stream_hyper = stream

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.

reqwest std_reqwest? stream_reqwest?

Enables reqwest ^0.12.12

hyper std_hyper?

Enables hyper

Hyper-based HTTP client dependencies (optional)

hyper-util std_hyper?
hyper-rustls std_hyper?
http-body-util std_hyper?
tower hyper_proxy? hyper_timeout?
tower-http hyper_compression?
rustls std_hyper?
rustls-native-certs std_hyper?
tokio hyper_timeout? std_hyper?
tokio-rustls std_hyper?

Enables cookie_store ^0.21

url hyper_cookies?
hyper-socks2 hyper_proxy?
tracing request? request_std? response? response_std?
serde method? method_std? request? request_std? std_base?
serde_json json?

Enables serde_json

Support for JSON structures

serde_urlencoded form?

Enables serde_urlencoded

Support for URL encoded structures

futures-core request? request_std?
futures-util std_hyper?
bytes request? request_std?
pin-project-lite std_hyper?
product-os-http method? method_std? request? request_std? response? response_std? uri?
product-os-http-body request? request_std? response? response_std? stream?