From d0ac7a34673ca721978cff7b3d5ff9dd7b895c40 Mon Sep 17 00:00:00 2001 From: Alexey Aristov Date: Thu, 28 Aug 2025 15:48:49 +0200 Subject: [PATCH] improve error handling in streaming Signed-off-by: Alexey Aristov --- hulylake/src/handlers.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hulylake/src/handlers.rs b/hulylake/src/handlers.rs index f9a887aadd..d9c76be67d 100644 --- a/hulylake/src/handlers.rs +++ b/hulylake/src/handlers.rs @@ -251,10 +251,16 @@ pub async fn get(request: HttpRequest) -> HandlerResult { yield Ok(Bytes::from(inline)); }, None => { - let mut response = s3.get_object().bucket(&CONFIG.s3_bucket).key(parts.data.blob).send().await.unwrap(); - - while let Some(bytes) = response.body.next().await { - yield Ok(bytes?); + match s3.get_object().bucket(&CONFIG.s3_bucket).key(parts.data.blob).send().await { + Ok(mut response) => { + while let Some(bytes) = response.body.next().await { + yield Ok(bytes?); + } + }, + Err(error) => { + yield Err(std::io::Error::new(std::io::ErrorKind::Other, error)); + break; + } } } }