From 0957d0fdfadb27e49c24d63994f52197a9c9cd1c Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Tue, 28 Apr 2020 10:18:14 +0000 Subject: Work on API --- src/api/signature.rs | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) (limited to 'src/api/signature.rs') diff --git a/src/api/signature.rs b/src/api/signature.rs index 2e82269c..a1ccfd08 100644 --- a/src/api/signature.rs +++ b/src/api/signature.rs @@ -11,6 +11,8 @@ use garage_util::error::Error; use garage_core::garage::Garage; use garage_core::key_table::*; +use crate::encoding::uri_encode; + const SHORT_DATE: &str = "%Y%m%d"; const LONG_DATETIME: &str = "%Y%m%dT%H%M%SZ"; @@ -284,24 +286,3 @@ fn canonical_query_string(uri: &hyper::Uri) -> String { "".to_string() } } - -fn uri_encode(string: &str, encode_slash: bool) -> String { - let mut result = String::with_capacity(string.len() * 2); - for c in string.chars() { - match c { - 'a'..='z' | 'A'..='Z' | '0'..='9' | '_' | '-' | '~' | '.' => result.push(c), - '/' if encode_slash => result.push_str("%2F"), - '/' if !encode_slash => result.push('/'), - _ => { - result.push('%'); - result.push_str( - &format!("{}", c) - .bytes() - .map(|b| format!("{:02X}", b)) - .collect::(), - ); - } - } - } - result -} -- cgit v1.2.3