diff options
author | Alex Auvolat <alex@adnab.me> | 2024-03-07 14:00:34 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2024-03-07 14:00:34 +0100 |
commit | fe2dc5d51c206c21ab15d9cc93fa1d1c52d95c46 (patch) | |
tree | bacc1f89ad2abaf6e5ff586694b4371921654861 /src/api | |
parent | 603604cdfc76d9ae86c02f25d49b7c845d138262 (diff) | |
parent | afee8c2207e2c79975734f1c1fea41b8b942aaa4 (diff) | |
download | garage-fe2dc5d51c206c21ab15d9cc93fa1d1c52d95c46.tar.gz garage-fe2dc5d51c206c21ab15d9cc93fa1d1c52d95c46.zip |
Merge branch 'main' into next-0.10
Diffstat (limited to 'src/api')
-rw-r--r-- | src/api/s3/put.rs | 2 | ||||
-rw-r--r-- | src/api/signature/payload.rs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/api/s3/put.rs b/src/api/s3/put.rs index f06aa7a2..2ced0580 100644 --- a/src/api/s3/put.rs +++ b/src/api/s3/put.rs @@ -595,7 +595,7 @@ pub(crate) fn get_headers(headers: &HeaderMap<HeaderValue>) -> Result<ObjectVers // Preserve x-amz-meta- headers for (k, v) in headers.iter() { if k.as_str().starts_with("x-amz-meta-") { - match v.to_str() { + match std::str::from_utf8(v.as_bytes()) { Ok(v_str) => { other.insert(k.to_string(), v_str.to_string()); } diff --git a/src/api/signature/payload.rs b/src/api/signature/payload.rs index d72736bb..d6ff62f0 100644 --- a/src/api/signature/payload.rs +++ b/src/api/signature/payload.rs @@ -331,8 +331,8 @@ pub fn canonical_request( .map(|name| { let value = headers .get(name) - .ok_or_bad_request(format!("signed header `{}` is not present", name))? - .to_str()?; + .ok_or_bad_request(format!("signed header `{}` is not present", name))?; + let value = std::str::from_utf8(value.as_bytes())?; Ok(format!("{}:{}", name.as_str(), value.trim())) }) .collect::<Result<Vec<String>, Error>>()? |