From 8464401337a62719e2273e9b6ec99c62e2b7cf4a Mon Sep 17 00:00:00 2001 From: phoenix Date: Mon, 10 Aug 2026 17:14:48 -0400 Subject: [PATCH] Adding code to download from the bucket --- src/lib.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 11270d3..73ecb69 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -77,4 +77,31 @@ impl Labyrinth { Err(err) => Err(Error::Info(err.to_string())), } } + + pub async fn download(&self, file_key: &str) -> Result, Error> { + let client = init_client(&self.config).await; + + match client + .get_object() + .bucket(&self.config.bucket.clone()) + .key(file_key) + .send() + .await + { + Ok(response) => { + let body = response.body; + + // Get the body as ByteStream + match body.collect().await { + Ok(data) => { + let bytes = data.into_bytes(); + let raw_data = bytes.to_vec(); + Ok(raw_data) + } + Err(err) => Err(Error::Info(err.to_string())), + } + } + Err(err) => Err(Error::Info(err.to_string())), + } + } }