From 191ff1df2e711ac470ed70a87a267d6cde245df4 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sun, 3 Sep 2023 17:47:37 +0800 Subject: [PATCH] feat: updates --- src/v4/aliyun_util.rs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/v4/aliyun_util.rs b/src/v4/aliyun_util.rs index 4e7cf83..63b56e9 100644 --- a/src/v4/aliyun_util.rs +++ b/src/v4/aliyun_util.rs @@ -14,7 +14,11 @@ const SEQ: AtomicU64 = AtomicU64::new(0); struct Request { pub version: String, + pub region: String, + pub product: String, pub action: String, + pub method: String, + pub pathname: String, pub access_key: Option, pub user_agent: String, pub sign_algorithm: SignAlgorithm, @@ -43,6 +47,7 @@ fn add_common_headers(header: &mut BTreeMap, request: &Request) } } + let ymd = "yyyymmdd"; let query = BTreeMap::new(); if let Some(access_key) = &request.access_key { @@ -54,9 +59,9 @@ fn add_common_headers(header: &mut BTreeMap, request: &Request) let signing_key = get_signing_key( &request.sign_algorithm, &access_key.access_key_secret, - "yyyy-mm-dd",// TODO DATE, - "region", // TODO REGION - "product", // TODO PRODUCT + ymd, + &request.region, + &request.product, ); let derived_access_key = DerivedAccessKey { access_key_id: access_key.access_key_id.clone(), @@ -65,11 +70,11 @@ fn add_common_headers(header: &mut BTreeMap, request: &Request) let authorization = get_authorization( &request.sign_algorithm, &derived_access_key, - "yyyy-mm-dd",// TODO DATE, - "region", // TODO REGION - "product", // TODO PRODUCT - "pathname", // TODO pathname - "method", // TODO method + ymd, + &request.region, + &request.product, + &request.pathname, + &request.method, &query, header, "payload", // TODO payload @@ -79,9 +84,9 @@ fn add_common_headers(header: &mut BTreeMap, request: &Request) } -fn get_timestamp() -> String { +fn get_timestamp() -> (String, String) { // TODO ... - "yyyy-mm-dd".into() + ("yyyymmdd".into(), "yyyy-mm-dd".into()) }