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(
|
async fn get_thumbnail(
|
||||||
State(state): State<Arc<AppState>>,
|
State(state): State<Arc<AppState>>,
|
||||||
headers: HeaderMap,
|
|
||||||
Path(id): Path<String>,
|
Path(id): Path<String>,
|
||||||
Query(params): Query<std::collections::HashMap<String, String>>,
|
Query(params): Query<std::collections::HashMap<String, String>>,
|
||||||
) -> impl IntoResponse {
|
) -> impl IntoResponse {
|
||||||
@@ -423,7 +422,9 @@ async fn get_thumbnail(
|
|||||||
|
|
||||||
let full = params.get("full").map(|v| v == "1").unwrap_or(false);
|
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,
|
Ok(c) => c,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
return axum::http::Response::builder()
|
return axum::http::Response::builder()
|
||||||
@@ -436,7 +437,6 @@ async fn get_thumbnail(
|
|||||||
let result = if full {
|
let result = if full {
|
||||||
client.get_file(img_id).await
|
client.get_file(img_id).await
|
||||||
} else {
|
} else {
|
||||||
// Essayer le thumbnail d'abord, fallback vers le fichier original
|
|
||||||
match client.get_thumbnail(img_id).await {
|
match client.get_thumbnail(img_id).await {
|
||||||
Ok(t) => Ok(t),
|
Ok(t) => Ok(t),
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user