flipfloptech commented on code in PR #435:
URL: 
https://github.com/apache/arrow-rs-object-store/pull/435#discussion_r2202199733


##########
src/client/builder.rs:
##########
@@ -181,9 +181,28 @@ impl HttpRequestBuilder {
     pub(crate) fn query<T: serde::Serialize + ?Sized>(mut self, query: &T) -> 
Self {
         let mut error = None;
         if let Ok(ref mut req) = self.request {
-            let mut out = format!("{}?", req.uri().path());
-            let start_position = out.len();
-            let mut encoder = form_urlencoded::Serializer::for_suffix(&mut 
out, start_position);
+            // Build the query string, preserving any existing query 
parameters.
+            // This prevents malformed URIs like "/bucket?&list-type=2" when 
the URI
+            // already contains query parameters.

Review Comment:
   Not sure if it's really a bug in the library. A query string that starts 
with an ampersand works fine in php($_GET["var"]) and python3 urllib parse_qs. 
I am also unable to find any RFC or protocol specification that outlines that a 
query string should not/cannot begin with an ampersand.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to