This is an automated email from the ASF dual-hosted git repository.

suyanhanx pushed a commit to branch dropbox-test
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git


The following commit(s) were added to refs/heads/dropbox-test by this push:
     new 03881cc07 make clippy happy
03881cc07 is described below

commit 03881cc0796c9e3da95c997a29de44911b0205aa
Author: suyanhanx <[email protected]>
AuthorDate: Thu Jul 6 16:57:25 2023 +0800

    make clippy happy
    
    Signed-off-by: suyanhanx <[email protected]>
---
 core/src/services/dropbox/core.rs | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/core/src/services/dropbox/core.rs 
b/core/src/services/dropbox/core.rs
index 34d02d5bf..14c8484c6 100644
--- a/core/src/services/dropbox/core.rs
+++ b/core/src/services/dropbox/core.rs
@@ -49,6 +49,13 @@ impl Debug for DropboxCore {
 }
 
 impl DropboxCore {
+    fn build_path(&self, path: &str) -> String {
+        let path = build_rooted_abs_path(&self.root, path);
+        // For dropbox, even the path is a directory,
+        // we still need to remove the trailing slash.
+        path.strip_suffix('/').unwrap_or(&path).to_string()
+    }
+
     pub async fn dropbox_get(&self, path: &str) -> 
Result<Response<IncomingAsyncBody>> {
         let url: String = 
"https://content.dropboxapi.com/2/files/download".to_string();
         let download_args = DropboxDownloadArgs {
@@ -100,9 +107,8 @@ impl DropboxCore {
 
     pub async fn dropbox_delete(&self, path: &str) -> 
Result<Response<IncomingAsyncBody>> {
         let url = "https://api.dropboxapi.com/2/files/delete_v2".to_string();
-        let path = build_rooted_abs_path(&self.root, path);
         let args = DropboxDeleteArgs {
-            path: path.strip_suffix("/").unwrap_or(&path).to_string(),
+            path: self.build_path(path),
         };
 
         let bs = 
Bytes::from(serde_json::to_string(&args).map_err(new_json_serialize_error)?);
@@ -117,9 +123,8 @@ impl DropboxCore {
 
     pub async fn dropbox_create_folder(&self, path: &str) -> 
Result<Response<IncomingAsyncBody>> {
         let url = 
"https://api.dropboxapi.com/2/files/create_folder_v2".to_string();
-        let path = build_rooted_abs_path(&self.root, path);
         let args = DropboxCreateFolderArgs {
-            path: path.strip_suffix("/").unwrap_or(&path).to_string(),
+            path: self.build_path(path),
         };
 
         let bs = 
Bytes::from(serde_json::to_string(&args).map_err(new_json_serialize_error)?);
@@ -134,9 +139,8 @@ impl DropboxCore {
 
     pub async fn dropbox_get_metadata(&self, path: &str) -> 
Result<Response<IncomingAsyncBody>> {
         let url = 
"https://api.dropboxapi.com/2/files/get_metadata".to_string();
-        let path = build_rooted_abs_path(&self.root, path);
         let args = DropboxMetadataArgs {
-            path: path.strip_suffix("/").unwrap_or(&path).to_string(),
+            path: self.build_path(path),
             ..Default::default()
         };
 

Reply via email to