From c9739dfd4bebad37816e3ea72fce10fe5321b554 Mon Sep 17 00:00:00 2001 From: J3romee Date: Mon, 13 Jul 2026 16:25:27 -0400 Subject: [PATCH] url decoding model name when extracted from path --- src/api_type/bedrock/mod.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/api_type/bedrock/mod.rs b/src/api_type/bedrock/mod.rs index 9a2e41d..24ff2f4 100644 --- a/src/api_type/bedrock/mod.rs +++ b/src/api_type/bedrock/mod.rs @@ -27,7 +27,10 @@ fn extract_model_from_path(path: &str) -> Option { if model.is_empty() { return None; } - Some(model.to_owned()) + let decoded = percent_encoding::percent_decode_str(model) + .decode_utf8_lossy() + .into_owned(); + Some(decoded) } // Bedrock api url format : `/model//invoke[WithResponseStream]` @@ -135,6 +138,14 @@ mod tests { ); } + #[test] + fn extract_model_percent_decodes_segment() { + let arn = + "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abcd1234567"; + let encoded = "/model/arn%3Aaws%3Abedrock%3Aus-east-1%3A123456789012%3Aapplication-inference-profile%2Fabcd1234567/invoke"; + assert_eq!(extract_model_from_path(encoded), Some(arn.to_owned())); + } + #[test] fn extract_model_from_invalid_paths() { assert_eq!(extract_model_from_path("/model//invoke"), None);