mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-30 05:25:00 +02:00
Use Option<usize> for content_length
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
@@ -378,10 +378,13 @@ pub async fn head(request: HttpRequest) -> HandlerResult<HttpResponse> {
|
||||
|
||||
// see https://github.com/actix/examples/blob/master/forms/multipart-s3/src/main.rs#L67-L79
|
||||
let content_length = merge::content_length(parts);
|
||||
response.body(SizedStream::new(
|
||||
content_length as u64,
|
||||
stream::empty::<Result<_, io::Error>>().boxed_local(),
|
||||
))
|
||||
match content_length {
|
||||
Some(content_length) => response.body(SizedStream::new(
|
||||
content_length as u64,
|
||||
stream::empty::<Result<_, io::Error>>().boxed_local(),
|
||||
)),
|
||||
None => response.finish(),
|
||||
}
|
||||
} else {
|
||||
HttpResponse::NotFound().finish()
|
||||
};
|
||||
|
||||
+6
-5
@@ -156,22 +156,23 @@ pub async fn stream(
|
||||
}
|
||||
}
|
||||
|
||||
pub fn content_length(parts: Vec<ObjectPart<PartData>>) -> usize {
|
||||
pub fn content_length(parts: Vec<ObjectPart<PartData>>) -> Option<usize> {
|
||||
let first = parts.first().unwrap();
|
||||
let merge_strategy = first.data.merge_strategy.unwrap();
|
||||
|
||||
let mut content_length: usize = 0;
|
||||
match merge_strategy {
|
||||
MergeStrategy::Concatenate => {
|
||||
let mut content_length = 0;
|
||||
|
||||
for part in parts {
|
||||
content_length += part.data.size;
|
||||
}
|
||||
|
||||
Some(content_length)
|
||||
}
|
||||
|
||||
MergeStrategy::JsonPatch => return 0,
|
||||
MergeStrategy::JsonPatch => None,
|
||||
}
|
||||
|
||||
content_length
|
||||
}
|
||||
|
||||
async fn part_data(s3: &S3Client, part: ObjectPart<PartData>) -> anyhow::Result<Vec<u8>> {
|
||||
|
||||
Reference in New Issue
Block a user