From b8a7d7ccb1bdaf70cd676359db55e7375e6dc62b Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Tue, 7 May 2024 17:59:27 +0200 Subject: [PATCH] Ignore 204 from files server --- .gitignore | 2 ++ src/services/downloader/mod.rs | 8 +++----- src/services/mod.rs | 5 ++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index e053ea0..d4895f5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .vscode .env + +.DS_Store diff --git a/src/services/downloader/mod.rs b/src/services/downloader/mod.rs index 34a13ec..9c93d36 100644 --- a/src/services/downloader/mod.rs +++ b/src/services/downloader/mod.rs @@ -28,7 +28,7 @@ pub async fn download_from_downloader( source_id: u32, remote_id: u32, object_type: String, -) -> Result> { +) -> Result, Box> { let url = format!( "{}/download/{source_id}/{remote_id}/{object_type}", CONFIG.downloader_url @@ -42,12 +42,10 @@ pub async fn download_from_downloader( .error_for_status()?; if response.status() == StatusCode::NO_CONTENT { - return Err(Box::new(DownloadError { - status_code: StatusCode::NO_CONTENT, - })); + return Ok(None); }; - Ok(response) + Ok(Some(response)) } pub async fn get_filename( diff --git a/src/services/mod.rs b/src/services/mod.rs index c32e5fc..9a28e4c 100644 --- a/src/services/mod.rs +++ b/src/services/mod.rs @@ -138,7 +138,10 @@ pub async fn cache_file( let downloader_result = match download_from_downloader(book.source.id, book.remote_id, object_type.clone()).await { - Ok(v) => v, + Ok(v) => match v { + Some(v) => v, + None => return None, + }, Err(err) => { log::error!("{:?}", err); return None;