This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 737f55e2f chore(services/obs): Use QueryPairsWriter for url write
(#5985)
737f55e2f is described below
commit 737f55e2fe4cc899c99c6d6fd58fa655938ff27d
Author: Asuka Minato <[email protected]>
AuthorDate: Wed Apr 9 12:46:08 2025 +0900
chore(services/obs): Use QueryPairsWriter for url write (#5985)
QueryPairsWriter
---
core/src/services/obs/core.rs | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/core/src/services/obs/core.rs b/core/src/services/obs/core.rs
index f12c0a80c..0e68a68e0 100644
--- a/core/src/services/obs/core.rs
+++ b/core/src/services/obs/core.rs
@@ -291,28 +291,22 @@ impl ObsCore {
limit: Option<usize>,
) -> Result<Response<Buffer>> {
let p = build_abs_path(&self.root, path);
+ let mut url = QueryPairsWriter::new(&self.endpoint);
- let mut queries = vec![];
if !path.is_empty() {
- queries.push(format!("prefix={}", percent_encode_path(&p)));
+ url = url.push("prefix", &percent_encode_path(&p));
}
if !delimiter.is_empty() {
- queries.push(format!("delimiter={delimiter}"));
+ url = url.push("delimiter", delimiter);
}
if let Some(limit) = limit {
- queries.push(format!("max-keys={limit}"));
+ url = url.push("max-keys", &limit.to_string());
}
if !next_marker.is_empty() {
- queries.push(format!("marker={next_marker}"));
+ url = url.push("marker", next_marker);
}
- let url = if queries.is_empty() {
- self.endpoint.to_string()
- } else {
- format!("{}?{}", self.endpoint, queries.join("&"))
- };
-
- let mut req = Request::get(&url)
+ let mut req = Request::get(url.finish())
.body(Buffer::new())
.map_err(new_request_build_error)?;