mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 01:39:28 +02:00

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.
38 lines
1 KiB
TOML
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"] }
|