You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2025/04/23 05:14:55 UTC
(opendal) branch main updated: feat(services/obs): Add operation in http context (#6079)
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 9b63992e4 feat(services/obs): Add operation in http context (#6079)
9b63992e4 is described below
commit 9b63992e434155e1bf3862e8b25ba89fd9bbad14
Author: Takaaki Koike <93...@users.noreply.github.com>
AuthorDate: Wed Apr 23 14:14:49 2025 +0900
feat(services/obs): Add operation in http context (#6079)
---
core/src/services/obs/core.rs | 43 +++++++++++++++++++++++++++++++++++--------
1 file changed, 35 insertions(+), 8 deletions(-)
diff --git a/core/src/services/obs/core.rs b/core/src/services/obs/core.rs
index 0685da495..aa7915fdc 100644
--- a/core/src/services/obs/core.rs
+++ b/core/src/services/obs/core.rs
@@ -144,7 +144,10 @@ impl ObsCore {
req = req.header(IF_NONE_MATCH, if_none_match);
}
- let req = req.body(Buffer::new()).map_err(new_request_build_error)?;
+ let req = req
+ .extension(Operation::Read)
+ .body(Buffer::new())
+ .map_err(new_request_build_error)?;
Ok(req)
}
@@ -180,7 +183,10 @@ impl ObsCore {
}
}
- let req = req.body(body).map_err(new_request_build_error)?;
+ let req = req
+ .extension(Operation::Write)
+ .body(body)
+ .map_err(new_request_build_error)?;
Ok(req)
}
@@ -211,7 +217,10 @@ impl ObsCore {
req = req.header(IF_NONE_MATCH, if_none_match);
}
- let req = req.body(Buffer::new()).map_err(new_request_build_error)?;
+ let req = req
+ .extension(Operation::Stat)
+ .body(Buffer::new())
+ .map_err(new_request_build_error)?;
Ok(req)
}
@@ -223,7 +232,10 @@ impl ObsCore {
let req = Request::delete(&url);
- let mut req = req.body(Buffer::new()).map_err(new_request_build_error)?;
+ let mut req = req
+ .extension(Operation::Delete)
+ .body(Buffer::new())
+ .map_err(new_request_build_error)?;
self.sign(&mut req).await?;
@@ -262,7 +274,11 @@ impl ObsCore {
req = req.header(CACHE_CONTROL, cache_control)
}
- let req = req.body(body).map_err(new_request_build_error)?;
+ let req = req
+ .extension(Operation::Write)
+ .body(body)
+ .map_err(new_request_build_error)?;
+
Ok(req)
}
@@ -274,6 +290,7 @@ impl ObsCore {
let url = format!("{}/{}", self.endpoint, percent_encode_path(&target));
let mut req = Request::put(&url)
+ .extension(Operation::Copy)
.header("x-obs-copy-source", &source)
.body(Buffer::new())
.map_err(new_request_build_error)?;
@@ -307,6 +324,7 @@ impl ObsCore {
}
let mut req = Request::get(url.finish())
+ .extension(Operation::List)
.body(Buffer::new())
.map_err(new_request_build_error)?;
@@ -327,7 +345,11 @@ impl ObsCore {
if let Some(mime) = content_type {
req = req.header(CONTENT_TYPE, mime)
}
- let mut req = req.body(Buffer::new()).map_err(new_request_build_error)?;
+
+ let mut req = req
+ .extension(Operation::Write)
+ .body(Buffer::new())
+ .map_err(new_request_build_error)?;
self.sign(&mut req).await?;
@@ -357,8 +379,11 @@ impl ObsCore {
req = req.header(CONTENT_LENGTH, size);
}
- // Set body
- let mut req = req.body(body).map_err(new_request_build_error)?;
+ let mut req = req
+ .extension(Operation::Write)
+ // Set body
+ .body(body)
+ .map_err(new_request_build_error)?;
self.sign(&mut req).await?;
@@ -391,6 +416,7 @@ impl ObsCore {
let req = req.header(CONTENT_TYPE, "application/xml");
let mut req = req
+ .extension(Operation::Write)
.body(Buffer::from(Bytes::from(content)))
.map_err(new_request_build_error)?;
@@ -414,6 +440,7 @@ impl ObsCore {
);
let mut req = Request::delete(&url)
+ .extension(Operation::Write)
.body(Buffer::new())
.map_err(new_request_build_error)?;