aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2020-12-05 19:20:07 +0100
committerAlex Auvolat <alex@adnab.me>2020-12-05 19:20:07 +0100
commit76b489f3d374c5a793929ce70654538d07268a6e (patch)
treebd42c7d388eef1de82437fe2e838d0d0c7018b7d /src
parentbd7e3d1bd1c4df4f2848e0f8c49878dacb330b50 (diff)
downloadgarage-76b489f3d374c5a793929ce70654538d07268a6e.tar.gz
garage-76b489f3d374c5a793929ce70654538d07268a6e.zip
Reformulate patch
Diffstat (limited to 'src')
-rw-r--r--src/api/s3_get.rs12
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),