diff options
author | Alex Auvolat <alex@adnab.me> | 2020-12-05 19:20:07 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-12-05 19:20:07 +0100 |
commit | 76b489f3d374c5a793929ce70654538d07268a6e (patch) | |
tree | bd42c7d388eef1de82437fe2e838d0d0c7018b7d /src | |
parent | bd7e3d1bd1c4df4f2848e0f8c49878dacb330b50 (diff) | |
download | garage-76b489f3d374c5a793929ce70654538d07268a6e.tar.gz garage-76b489f3d374c5a793929ce70654538d07268a6e.zip |
Reformulate patch
Diffstat (limited to 'src')
-rw-r--r-- | src/api/s3_get.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/api/s3_get.rs b/src/api/s3_get.rs index a52222a0..43215923 100644 --- a/src/api/s3_get.rs +++ b/src/api/s3_get.rs @@ -15,7 +15,6 @@ use crate::error::*; fn object_headers( version: &ObjectVersion, version_meta: &ObjectVersionMeta, - partial_size: Option<u64> ) -> http::response::Builder { let date = UNIX_EPOCH + Duration::from_millis(version.timestamp); let date_str = httpdate::fmt_http_date(date); @@ -25,7 +24,6 @@ fn object_headers( "Content-Type", version_meta.headers.content_type.to_string(), ) - .header("Content-Length", format!("{}", partial_size.unwrap_or(version_meta.size))) .header("ETag", version_meta.etag.to_string()) .header("Last-Modified", date_str) .header("Accept-Ranges", format!("bytes")); @@ -63,7 +61,8 @@ pub async fn handle_head( }; let body: Body = Body::from(vec![]); - let response = object_headers(&version, version_meta, None) + let response = object_headers(&version, version_meta) + .header("Content-Length", format!("{}", version_meta.size)) .status(StatusCode::OK) .body(body) .unwrap(); @@ -124,7 +123,9 @@ pub async fn handle_get( .await; } - let resp_builder = object_headers(&last_v, last_v_meta, None).status(StatusCode::OK); + let resp_builder = object_headers(&last_v, last_v_meta) + .header("Content-Length", format!("{}", last_v_meta.size)) + .status(StatusCode::OK); match &last_v_data { ObjectVersionData::DeleteMarker => unreachable!(), @@ -181,7 +182,8 @@ pub async fn handle_get_range( return Err(Error::BadRequest(format!("Range not included in file"))); } - let resp_builder = object_headers(version, version_meta, Some(end - begin)) + let resp_builder = object_headers(version, version_meta) + .header("Content-Length", format!("{}", end - begin)) .header( "Content-Range", format!("bytes {}-{}/{}", begin, end - 1, version_meta.size), |