fix: thumbnails accessibles sans header X-API-Key (balises img)
Problème: les balises <img> du navigateur ne peuvent pas envoyer X-API-Key, donc les thumbnails étaient 404 car la clé configurée était expirée. Solution: - get_thumbnail() utilise TOUJOURS la clé serveur (state.api_key) au lieu de chercher le header utilisateur - Mise à jour de la clé API dans imagod.toml avec la clé valide Test: HTTP 200 sans header personnalisé ✓
This commit is contained in:
@@ -407,7 +407,6 @@ async fn get_image(
|
||||
|
||||
async fn get_thumbnail(
|
||||
State(state): State<Arc<AppState>>,
|
||||
headers: HeaderMap,
|
||||
Path(id): Path<String>,
|
||||
Query(params): Query<std::collections::HashMap<String, String>>,
|
||||
) -> impl IntoResponse {
|
||||
@@ -423,7 +422,9 @@ async fn get_thumbnail(
|
||||
|
||||
let full = params.get("full").map(|v| v == "1").unwrap_or(false);
|
||||
|
||||
let client = match get_client(&state, &headers) {
|
||||
// Utilise TOUJOURS la clé serveur (config) pour les thumbnails,
|
||||
// car les balises <img> du navigateur ne peuvent pas envoyer X-API-Key
|
||||
let client = match ImagoClient::new(state.base_url.clone(), state.api_key.clone()) {
|
||||
Ok(c) => c,
|
||||
Err(e) => {
|
||||
return axum::http::Response::builder()
|
||||
@@ -436,7 +437,6 @@ async fn get_thumbnail(
|
||||
let result = if full {
|
||||
client.get_file(img_id).await
|
||||
} else {
|
||||
// Essayer le thumbnail d'abord, fallback vers le fichier original
|
||||
match client.get_thumbnail(img_id).await {
|
||||
Ok(t) => Ok(t),
|
||||
Err(_) => {
|
||||
|
||||
Reference in New Issue
Block a user