diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-27 19:58:06 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-27 19:58:06 +0100 |
commit | e8fa89e8348522c368eb17e89ab3209e6a734088 (patch) | |
tree | 7dc587d54a6511ab99f3a681f5c5ab9bf9008bd7 /src/api/s3/get.rs | |
parent | d4e3e609209eb52d820338daf628df7cf09881ab (diff) | |
download | garage-e8fa89e8348522c368eb17e89ab3209e6a734088.tar.gz garage-e8fa89e8348522c368eb17e89ab3209e6a734088.zip |
s3 api: make x-amz-meta-* headers lowercase (fix #844)fix-844
Diffstat (limited to 'src/api/s3/get.rs')
-rw-r--r-- | src/api/s3/get.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/api/s3/get.rs b/src/api/s3/get.rs index f5d3cf11..f61aae11 100644 --- a/src/api/s3/get.rs +++ b/src/api/s3/get.rs @@ -68,14 +68,11 @@ fn object_headers( // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html let mut headers_by_name = BTreeMap::new(); for (name, value) in meta_inner.headers.iter() { - match headers_by_name.get_mut(name) { - None => { - headers_by_name.insert(name, vec![value.as_str()]); - } - Some(headers) => { - headers.push(value.as_str()); - } - } + let name_lower = name.to_ascii_lowercase(); + headers_by_name + .entry(name_lower) + .or_insert(vec![]) + .push(value.as_str()); } for (name, values) in headers_by_name { |