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()
};