Files
pmomusic/pmocontrol/Cargo.toml
Eric Coissac ea5936717a Add pmocovers integration for external cover URL proxying
- Introduce optional `pmocover` dependency in pmocontrol
- Add cover URL transformation logic for both REST and SSE endpoints using `pmocovers::proxy_cover_url`/sync
- Refactor `/covers/proxy?...=` handler to accept any external URL and return local cached route
- Implement helper functions `transform_cover_url` (async) & sync variant for consistent cover URL normalization
- Update Cargo.lock to include `pmocovers`
2026-04-04 12:05:10 +02:00

52 lines
1.7 KiB
TOML

[package]
name = "pmocontrol"
version = "0.3.0"
edition = "2024"
[dependencies]
pmoupnp = { path = "../pmoupnp" }
pmodidl = { path = "../pmodidl" }
pmoutils = { version = "0.1.2", registry = "pmo" }
quick-xml = { workspace = true }
thiserror = { workspace = true }
ureq = "3.1.4"
tracing = { workspace = true }
tracing-subscriber = "0.3"
tracing-log = "0.1"
anyhow = { workspace = true }
xmltree = "0.11.0"
crossbeam-channel = "0.5"
ratatui = { version = "0.26", default-features = false, features = ["crossterm"] }
crossterm = "0.27"
rust_cast = "0.19"
rustls = { version = "0.23", features = ["aws-lc-rs"] }
mdns = "3.0"
async-std = "1.12"
futures-util = "0.3"
smol = "2.0"
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
rand = { workspace = true }
# pmoserver extension support (optional)
pmoserver = { path = "../pmoserver", optional = true }
pmocovers = { path = "../pmocovers", optional = true }
utoipa = { version = "5.4.0", optional = true }
axum = { version = "0.8.4", optional = true }
tokio = { workspace = true, features = ["sync", "rt"], optional = true }
tokio-util = { version = "0.7", optional = true }
async-trait = { version = "0.1", optional = true }
tokio-stream = { version = "0.1", features = ["sync"], optional = true }
async-stream = { version = "0.3", optional = true }
chrono = { version = "0.4", features = ["serde"] }
url = { version = "2", optional = true }
urlencoding = { version = "2", optional = true }
[dev-dependencies]
percent-encoding = "2.3"
[features]
default = []
# Active l'API REST pmoserver
pmoserver = ["dep:pmoserver", "dep:pmocovers", "dep:utoipa", "dep:axum", "dep:tokio", "dep:tokio-util", "dep:async-trait", "dep:tokio-stream", "dep:async-stream", "dep:url", "dep:urlencoding"]