refactor: replace absolute URLs with route-based cover URLs and generalize caching
- Remplacer les appels à `covers_absolute_url_for` par `covers_route_for` pour générer des URLs relatives basées sur les routes - Introduire le trait `CoverCacheable` pour généraliser le cache des covers (Album, Playlist, Artist, Track) - Remplacer les fonctions spécifiques (`cache_album_covers`, etc.) par une fonction générique `cache_covers` - Simplifier le code en unifiant la logique de mise en cache des covers - Corriger l'initialisation de `PMO_SERVER_URL` pour utiliser `base_url()` (incluant le port) au lieu d'une URL brute
This commit is contained in:
@@ -116,17 +116,12 @@ impl Server {
|
||||
|
||||
let base_url = base_url.into();
|
||||
|
||||
// Initialiser PMO_SERVER_URL pour que tous les caches puissent construire des URLs absolues
|
||||
// sans avoir besoin de propager base_url manuellement.
|
||||
// SAFETY: appelé une seule fois au démarrage du serveur, avant tout thread concurrent.
|
||||
unsafe { std::env::set_var("PMO_SERVER_URL", &base_url) };
|
||||
|
||||
// Créer le router initial avec l'endpoint de registre
|
||||
let registry_route = Router::new()
|
||||
.route("/api/registry", get(get_api_registry))
|
||||
.with_state(api_registry.clone());
|
||||
|
||||
Self {
|
||||
let server = Self {
|
||||
name: name.into(),
|
||||
base_url,
|
||||
http_port,
|
||||
@@ -136,7 +131,14 @@ impl Server {
|
||||
log_state: None,
|
||||
api_registry,
|
||||
shutdown_token: CancellationToken::new(),
|
||||
}
|
||||
};
|
||||
|
||||
// Initialiser PMO_SERVER_URL avec l'URL complète (incluant le port).
|
||||
// base_url() normalise l'URL en ajoutant le port si absent.
|
||||
// SAFETY: appelé une seule fois au démarrage du serveur, avant tout thread concurrent.
|
||||
unsafe { std::env::set_var("PMO_SERVER_URL", server.base_url()) };
|
||||
|
||||
server
|
||||
}
|
||||
|
||||
pub fn new_configured() -> Self {
|
||||
|
||||
Reference in New Issue
Block a user