Cargo Features

[dependencies]
ureq = { version = "3.2.0", default-features = false, features = ["rustls", "native-tls", "platform-verifier", "socks-proxy", "win-system-proxy", "cookies", "gzip", "brotli", "charset", "json", "multipart", "rustls-webpki-roots", "native-tls-webpki-roots", "rustls-no-provider", "native-tls-no-default", "vendored"] }
default = gzip, rustls

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

rustls default rustls = rustls-no-provider, rustls-webpki-roots

SUPPORTED FEATURES

Enables ring of optional rustls

Enable aws-lc-rs for tests so we can demonstrate using ureq without compiling ring.

native-tls = _tls, native-tls-no-default, native-tls-webpki-roots

Enables der ^0.7.9

platform-verifier

Enables rustls-platform-verifier

socks-proxy

Enables socks

win-system-proxy

Enables winreg

cookies

Enables cookie_store

cookie_store uses Url, while http-crate has its own Uri.
Keep url crate in lockstep with cookie_store.

and url

ureq-proto forces url=2.5.4. This optional dep documents the situation in cookie_store.

gzip default

Enables flate2

brotli

Enables brotli-decompressor

charset

Enables encoding_rs

json

Enables serde and serde_json, serde_json of optional cookie_store

multipart

Enables getrandom ^0.2.15 and mime_guess

Affects unversioned::multipart

rustls-webpki-roots rustls

Enables webpki-roots

native-tls-webpki-roots native-tls?

Enables webpki-root-certs

rustls-no-provider rustls = _tls

UNSTABLE FEATURES. Might be removed or changed in a minor version.

Rustls CryptoProviders are not picked up from feature flags alone. They must be configured on Agent. This feature flag makes it possible to compile ureq with rustls, but without ring. When webpki-roots is disabled you have to enable platform-verifier or provide root certs manually.

Enables rustls

native-tls-no-default native-tls? = _tls

When webpki-roots is disabled, you have to enable platform-verifier or provide root certs manually.

Enables der ^0.7.9 and native-tls

native-tls:

held back on 0.2.12 to avoid double dependency on windows-sys (0.59.0, 0.52.0)
native-tls 0.2.13 requires MSRV 1.82. We keep 0.2.12 until we decide to bunp MSRV

vendored

Supported as long as native-tls supports this.

Enables vendored of optional native-tls

_test

Affects test::set_handler, test::set_handler_cb

_tls native-tls? native-tls-no-default? rustls-no-provider?

Enables rustls-pki-types

These are used regardless of TLS implementation.

Affects ureq::tls