Code formatting

This commit is contained in:
kdeng00
2025-07-28 16:34:25 -04:00
parent e11524020c
commit 0a4d1807e1
2 changed files with 39 additions and 25 deletions
+23 -13
View File
@@ -1060,28 +1060,38 @@ pub mod endpoint {
} }
} }
pub async fn download_song(axum::Extension(pool): axum::Extension<sqlx::PgPool>, pub async fn download_song(
axum::extract::Path(id): axum::extract::Path<uuid::Uuid>) axum::Extension(pool): axum::Extension<sqlx::PgPool>,
-> (axum::http::StatusCode, axum::response::Response) { axum::extract::Path(id): axum::extract::Path<uuid::Uuid>,
) -> (axum::http::StatusCode, axum::response::Response) {
match super::song_db::get_song(&pool, &id).await { match super::song_db::get_song(&pool, &id).await {
Ok(song) => match song.to_data() { Ok(song) => match song.to_data() {
Ok(data) => { Ok(data) => {
let bytes = axum::body::Bytes::from(data); let bytes = axum::body::Bytes::from(data);
let mut response = bytes.into_response(); let mut response = bytes.into_response();
let headers = response.headers_mut(); let headers = response.headers_mut();
headers.insert(axum::http::header::CONTENT_TYPE, "audio/flac".parse().unwrap()); headers.insert(
headers.insert(axum::http::header::CONTENT_DISPOSITION, format!("attachment; filename=\"{id}.flac\"").parse().unwrap()); axum::http::header::CONTENT_TYPE,
"audio/flac".parse().unwrap(),
);
headers.insert(
axum::http::header::CONTENT_DISPOSITION,
format!("attachment; filename=\"{id}.flac\"")
.parse()
.unwrap(),
);
(axum::http::StatusCode::OK, response) (axum::http::StatusCode::OK, response)
} }
Err(_err) => { Err(_err) => (
(axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::response::Response::default()) axum::http::StatusCode::INTERNAL_SERVER_ERROR,
axum::response::Response::default(),
),
},
Err(_err) => (
axum::http::StatusCode::NOT_FOUND,
axum::response::Response::default(),
),
} }
} }
Err(_err) => {
(axum::http::StatusCode::NOT_FOUND, axum::response::Response::default())
}
}
}
} }
+6 -2
View File
@@ -127,7 +127,10 @@ pub mod init {
crate::callers::endpoints::STREAMSONG, crate::callers::endpoints::STREAMSONG,
get(crate::callers::song::endpoint::stream_song), get(crate::callers::song::endpoint::stream_song),
) )
.route(crate::callers::endpoints::DOWNLOADSONG, get(crate::callers::song::endpoint::download_song)) .route(
crate::callers::endpoints::DOWNLOADSONG,
get(crate::callers::song::endpoint::download_song),
)
} }
pub async fn app() -> axum::Router { pub async fn app() -> axum::Router {
@@ -2025,7 +2028,8 @@ mod tests {
let id = test_data::song_id().await.unwrap(); let id = test_data::song_id().await.unwrap();
let uri = super::format_url_with_value(crate::callers::endpoints::DOWNLOADSONG, &id).await; let uri =
super::format_url_with_value(crate::callers::endpoints::DOWNLOADSONG, &id).await;
match app match app
.clone() .clone()