From 65ceb5683340726ff2ee831181dd9d60da2456b3 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 25 Jan 2025 16:52:27 +0100 Subject: fix query discarded when capture in !paths --- src/modules/paths.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/paths.rs b/src/modules/paths.rs index 755d550..3dc7596 100644 --- a/src/modules/paths.rs +++ b/src/modules/paths.rs @@ -65,8 +65,16 @@ impl Node for Paths { let mut parts = http::uri::Parts::default(); parts.scheme = request.uri().scheme().cloned(); parts.authority = request.uri().authority().cloned(); - parts.path_and_query = - Some(rest.as_str().parse().map_err(|_| ServiceError::Other)?); + if let Some(q) = request.uri().query() { + parts.path_and_query = Some( + format!("{}?{}", rest.as_str(), q) + .parse() + .map_err(|_| ServiceError::Other)?, + ); + } else { + parts.path_and_query = + Some(rest.as_str().parse().map_err(|_| ServiceError::Other)?); + } *request.uri_mut() = Uri::from_parts(parts).map_err(|_| ServiceError::InvalidUri)? } -- cgit v1.2.3-70-g09d2