From 8550af456907a9bd81d07a4e5daa28ed066e2462 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Mon, 27 Oct 2025 13:52:03 -0400 Subject: [PATCH] tsk-203: Addressing hard coding when downloading coverart --- src/callers/coverart.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/callers/coverart.rs b/src/callers/coverart.rs index 82de0ff..a258570 100644 --- a/src/callers/coverart.rs +++ b/src/callers/coverart.rs @@ -179,17 +179,25 @@ pub mod endpoint { match repo::coverart::get_coverart(&pool, &id).await { Ok(coverart) => match icarus_models::coverart::io::to_data(&coverart) { Ok(data) => { + let file_type = match icarus_meta::detection::coverart::file_type_from_data(&data) { + Ok(file_type) => { + file_type + } + Err(err) => { + eprintln!("Error: {err:?}"); + return (axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::response::Response::default()); + } + }; let bytes = axum::body::Bytes::from(data); let mut response = bytes.into_response(); let headers = response.headers_mut(); - // TODO: Address hard coding headers.insert( axum::http::header::CONTENT_TYPE, - "audio/jpg".parse().unwrap(), + file_type.mime.parse().unwrap() ); headers.insert( axum::http::header::CONTENT_DISPOSITION, - format!("attachment; filename=\"{id}.jpg\"") + format!("attachment; filename=\"{}\"", coverart.filename) .parse() .unwrap(), );