From 22080a2f290cadc7465ef884d241eddc5b4b45ec Mon Sep 17 00:00:00 2001 From: KD Date: Fri, 31 Oct 2025 12:34:43 -0400 Subject: [PATCH] tsk-201: Making content disposition more unique (#234) * tsk-201: Making content disposition more unique * tsk-201: Cleanup * tsk-201: Version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/callers/queue/coverart.rs | 24 ++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 672fd45..e92d082 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -964,7 +964,7 @@ dependencies = [ [[package]] name = "icarus" -version = "0.3.16" +version = "0.3.17" dependencies = [ "axum", "axum-extra", diff --git a/Cargo.toml b/Cargo.toml index 7517d72..b97d6f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus" -version = "0.3.16" +version = "0.3.17" edition = "2024" rust-version = "1.90" diff --git a/src/callers/queue/coverart.rs b/src/callers/queue/coverart.rs index 2ca3748..f333a94 100644 --- a/src/callers/queue/coverart.rs +++ b/src/callers/queue/coverart.rs @@ -327,10 +327,30 @@ pub mod endpoint { axum::http::header::CONTENT_TYPE, file_type.mime.parse().unwrap(), ); - // TODO: Make the conent disposition more dynamic + + let coverart_type = if file_type.file_type + == icarus_meta::detection::coverart::constants::JPEG_TYPE + { + icarus_models::types::CoverArtType::JpegExtension + } else if file_type.file_type + == icarus_meta::detection::coverart::constants::JPG_TYPE + { + icarus_models::types::CoverArtType::JpgExtension + } else if file_type.file_type + == icarus_meta::detection::coverart::constants::PNG_TYPE + { + icarus_models::types::CoverArtType::PngExtension + } else { + return ( + axum::http::StatusCode::INTERNAL_SERVER_ERROR, + axum::response::Response::default(), + ); + }; + let filename = + icarus_models::coverart::generate_filename(coverart_type, true).unwrap(); headers.insert( axum::http::header::CONTENT_DISPOSITION, - format!("attachment; filename=\"{id}.jpg\"") + format!("attachment; filename=\"{filename}\"") .parse() .unwrap(), );