diff --git a/src/handlers.rs b/src/handlers.rs index c5a160f2a7..6f19590de7 100644 --- a/src/handlers.rs +++ b/src/handlers.rs @@ -75,7 +75,6 @@ impl From>, @@ -215,7 +214,6 @@ async fn upload(s3: &S3Client, pool: &Pool, mut payload: Payload) -> Result HandlerResult HandlerResult HandlerResult HandlerResult HandlerResult { let response = if !parts.is_empty() { let mut content_length = 0; - let mut etag = Hasher::new(); for part in parts.iter() { content_length += part.data.size; - etag.update(part.data.hash.as_bytes()); } let mut response = HttpResponse::Ok(); + let etag = parts.last().unwrap().data.etag.to_owned(); + response.insert_header((header::CONTENT_LENGTH, content_length)); - response.insert_header((header::ETAG, etag.finalize().to_hex().to_string())); + response.insert_header((header::ETAG, etag)); let headers = parts[0].data.headers.as_ref(); if let Some(headers) = headers {