1
0
Fork 0
mirror of https://github.com/librespot-org/librespot.git synced 2025-10-03 01:39:28 +02:00
librespot/oauth/Cargo.toml
Roderick van Domburg 0a4969ffe2
feat: add configurable TLS backend selection with native-tls as default (#1541)
Add support for choosing between native-tls and rustls-tls backends
through feature flags, with native-tls as the default for maximum
platform compatibility.

Key changes:
- Add mutually exclusive native-tls and rustls-tls feature flags
- Use conditional compilation to select TLS implementation
- Configure rustls-tls with platform certificate verifier
- Refactor to workspace-based dependency management
- Update CI workflows with improved cross-compilation support
- Add comprehensive TLS backend documentation

The native-tls backend uses system TLS libraries (OpenSSL on Linux,
Secure Transport on macOS, SChannel on Windows) while rustls-tls
provides a pure Rust implementation with platform certificate stores.
2025-08-19 23:06:28 +02:00

38 lines
1 KiB
TOML

[package]
name = "librespot-oauth"
version.workspace = true
rust-version.workspace = true
authors = ["Nick Steel <nick@nsteel.co.uk>"]
license.workspace = true
description = "OAuth authorization code flow with PKCE for obtaining a Spotify access token"
repository.workspace = true
edition.workspace = true
[features]
# Refer to the workspace Cargo.toml for the list of features
default = ["native-tls"]
# TLS backends (mutually exclusive - compile-time checks in src/lib.rs)
native-tls = ["oauth2/native-tls", "reqwest/native-tls"]
rustls-tls = ["oauth2/rustls-tls", "reqwest/rustls-tls"]
[dependencies]
log = "0.4"
oauth2 = { version = "5.0", default-features = false, features = [
"reqwest",
"reqwest-blocking",
] }
open = "5.3"
reqwest = { version = "0.12", default-features = false, features = [
"system-proxy",
] }
thiserror = "2"
url = "2.5"
[dev-dependencies]
env_logger = { version = "0.11", default-features = false, features = [
"color",
"humantime",
"auto-color",
] }
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }