Cargo Features

[dependencies]
reqwest = { version = "0.12.9", default-features = false, features = ["default-tls", "http2", "native-tls", "native-tls-alpn", "native-tls-vendored", "rustls-tls", "rustls-tls-no-provider", "rustls-tls-manual-roots-no-provider", "rustls-tls-webpki-roots-no-provider", "rustls-tls-native-roots-no-provider", "rustls-tls-manual-roots", "rustls-tls-webpki-roots", "rustls-tls-native-roots", "blocking", "charset", "cookies", "gzip", "brotli", "zstd", "deflate", "json", "multipart", "trust-dns", "hickory-dns", "stream", "socks", "macos-system-configuration", "http3"] }
default = charset, default-tls, http2, macos-system-configuration

These default features are set whenever reqwest is added without default-features = false somewhere in the dependency tree.

default-tls default native-tls? = __tls

Note: this doesn't enable the 'native-tls' feature, which adds specific functionality for it.

Enables hyper-tls, native-tls, and tokio-native-tls

http2 default = h2

Enables http2 of hyper, optional hyper-rustls, and hyper-util

native-tls native-tls-alpn? native-tls-vendored? = default-tls

Enables native-tls specific functionality not available by default.

native-tls-alpn = native-tls

Enables alpn of optional hyper-tls and optional native-tls

native-tls-vendored = native-tls

Enables vendored of optional native-tls

rustls-tls = rustls-tls-webpki-roots
rustls-tls-no-provider = rustls-tls-manual-roots-no-provider
rustls-tls-manual-roots-no-provider rustls-tls-manual-roots? rustls-tls-no-provider? = __rustls
rustls-tls-webpki-roots-no-provider rustls-tls-webpki-roots? = __rustls

Enables webpki-roots, webpki-tokio of optional hyper-rustls

rustls-tls-native-roots-no-provider rustls-tls-native-roots? = __rustls

Enables rustls-native-certs, native-tokio of optional hyper-rustls

rustls-tls-manual-roots http3? = rustls-tls-manual-roots-no-provider

Enables ring of optional hyper-rustls, optional quinn, optional rustls, and optional tokio-rustls

rustls-tls-webpki-roots rustls-tls? = rustls-tls-webpki-roots-no-provider

Enables ring of optional hyper-rustls, optional quinn, optional rustls, and optional tokio-rustls

rustls-tls-native-roots = rustls-tls-native-roots-no-provider

Enables ring of optional hyper-rustls, optional quinn, optional rustls, and optional tokio-rustls

quinn:

Enables Endpoint::client and Endpoint::server conveniences

blocking

Enables sink of futures-channel, io and sink of futures-util, sync of tokio

Affects reqwest::blocking

charset default

Enables encoding_rs

cookies

Enables cookie and cookie_store

Affects reqwest::cookie

gzip

Enables tokio-util, gzip of async-compression

brotli

Enables tokio-util, brotli of async-compression

zstd

Enables tokio-util, zstd of async-compression

deflate

Enables tokio-util, zlib of async-compression

json

Enables serde_json

Optional deps...

json

multipart

Enables mime_guess

Affects async_impl::multipart, blocking::multipart, wasm::multipart

trust-dns

Deprecated, remove this feature while bumping minor versions.

hickory-dns

Enables hickory-resolver

stream

Enables tokio-util and wasm-streams, fs of tokio

socks

Enables tokio-socks

macos-system-configuration default

Use the system's proxy configuration.

Enables system-configuration

http3 = rustls-tls-manual-roots

Experimental HTTP/3 client.

Enables futures-channel, h3, h3-quinn, quinn, and slab

__tls __rustls? default-tls

Internal (PRIVATE!) features used to aid testing.
Don't rely on these whatsoever. They may disappear at any time.

Enables common types used for TLS. Useless on its own.

Enables rustls-pemfile, io-util of tokio

Affects reqwest::tls

__rustls rustls-tls-manual-roots-no-provider? rustls-tls-native-roots-no-provider? rustls-tls-webpki-roots-no-provider? = __tls

Enables common rustls code.
Equivalent to rustls-tls-manual-roots but shorter :)

Enables hyper-rustls, rustls, rustls-pemfile, rustls-pki-types, and tokio-rustls

Affects tls::CertificateRevocationList

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.

h2 not wasm32 http2