Cargo Features

[dependencies]
ytmapi-rs = { version = "0.0.17", default-features = false, features = ["default-tls", "native-tls", "rustls-tls", "simplified-queries", "serde_json"] }
default = default-tls, simplified-queries

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

default-tls default

Provide alternative TLS options to reqwest's default. NOTE: At least one of the TLS features must be enabled. If multiple are enabled, or another crate enables multiple, the standard builder functions will prefer reqwest's default. For more information, see reqest's documentation. https://docs.rs/reqwest/latest/reqwest/tls/index.html

Enables default-tls of reqwest

To allow alternative TLS options, we need to opt out of a single reqwest feature. This isn't possible in Cargo, so we need to opt back into the other default features. https://github.com/rust-lang/cargo/issues/3126 As of 26/4/24 the following are reqwest default features: http2, default-tls, charset

native-tls

Enables native-tls of reqwest

rustls-tls

Enables rustls-tls of reqwest

simplified-queries default

Enable the use of simplified queries such as YtMusic::search("xx")

Affects ytmapi-rs::simplified_queries

serde_json

Enable functions that allow interoperability with the serde_json crate. NOTE: serde_json dependency is still required whether or not this feature is enabled, as it is used internally.