diff --git a/crates/s3/src/client.rs b/crates/s3/src/client.rs
index 9ce099f..44d4f89 100644
--- a/crates/s3/src/client.rs
+++ b/crates/s3/src/client.rs
@@ -66,9 +66,9 @@ use crate::data_transport::{
DownloadRequest, ObjectDataTransport, ObservedReader, ObservedWriter, UploadOperation,
UploadRequest, UploadResult, WriteCondition,
};
-use tokio::io::AsyncReadExt;
use tokio::io::AsyncWrite;
use tokio::io::AsyncWriteExt;
+use tokio::io::{AsyncReadExt, AsyncSeekExt};
use zeroize::Zeroizing;
use crate::lifecycle_xml::{
@@ -1104,6 +1104,49 @@ fn requested_sha256_checksum(
}
}
+async fn requested_file_sha256_checksum(
+ file: &mut tokio::fs::File,
+ file_path: &std::path::Path,
+ file_size: u64,
+ request: Option<&ChecksumRequest>,
+) -> Result