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)?;