From 24738dc6359dde35c00d26322a72518a85f14d51 Mon Sep 17 00:00:00 2001 From: weisd Date: Mon, 30 Jun 2025 21:41:34 +0800 Subject: [PATCH] fix: resolve clippy warnings in signer module - Add #[allow(clippy::too_many_arguments)] for functions with 8 parameters - Replace vec initialization with array where appropriate - Fix test code warnings by adding #[allow] attributes - Improve code quality while maintaining functionality --- .../signer/src/request_signature_streaming.rs | 1 + crates/signer/src/request_signature_v4.rs | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/crates/signer/src/request_signature_streaming.rs b/crates/signer/src/request_signature_streaming.rs index 6b364b88..b280e074 100644 --- a/crates/signer/src/request_signature_streaming.rs +++ b/crates/signer/src/request_signature_streaming.rs @@ -52,6 +52,7 @@ fn _build_chunk_signature( get_signature(signing_key, &chunk_string_to_sign) } +#[allow(clippy::too_many_arguments)] pub fn streaming_sign_v4( mut req: request::Builder, _access_key_id: &str, diff --git a/crates/signer/src/request_signature_v4.rs b/crates/signer/src/request_signature_v4.rs index a8ac0c1d..96dfe61e 100644 --- a/crates/signer/src/request_signature_v4.rs +++ b/crates/signer/src/request_signature_v4.rs @@ -172,13 +172,14 @@ fn get_canonical_request(req: &request::Builder, ignored_headers: &HashMap>::new(); - canonical_request.push(req.method_ref().unwrap().to_string()); - canonical_request.push(req.uri_ref().unwrap().path().to_string()); - canonical_request.push(canonical_query_string); - canonical_request.push(get_canonical_headers(req, ignored_headers)); - canonical_request.push(get_signed_headers(req, ignored_headers)); - canonical_request.push(hashed_payload.to_string()); + let canonical_request = [ + req.method_ref().unwrap().to_string(), + req.uri_ref().unwrap().path().to_string(), + canonical_query_string, + get_canonical_headers(req, ignored_headers), + get_signed_headers(req, ignored_headers), + hashed_payload.to_string(), + ]; canonical_request.join("\n") } @@ -267,6 +268,7 @@ fn _sign_v4_sts(req: request::Builder, access_key_id: &str, secret_access_key: & sign_v4_inner(req, 0, access_key_id, secret_access_key, "", location, SERVICE_TYPE_STS, HeaderMap::new()) } +#[allow(clippy::too_many_arguments)] fn sign_v4_inner( mut req: request::Builder, content_len: i64, @@ -399,6 +401,7 @@ pub fn sign_v4_trailer( } #[cfg(test)] +#[allow(unused_variables, unused_mut)] mod tests { use http::request; use time::macros::datetime; @@ -429,9 +432,10 @@ mod tests { ); headers.insert("x-amz-date", timestamp.parse().unwrap()); - let mut query = >::new(); - query.push(("max-keys".to_string(), "2".to_string())); - query.push(("prefix".to_string(), "J".to_string())); + let query = vec![ + ("max-keys".to_string(), "2".to_string()), + ("prefix".to_string(), "J".to_string()), + ]; let uri = req.uri_ref().unwrap().clone(); let mut parts = req.uri_ref().unwrap().clone().into_parts(); parts.path_and_query = Some(