You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by ko...@apache.org on 2025/11/05 05:07:34 UTC
(opendal) branch impl-debug-for-all-service-builder created (now c66eb6344)
This is an automated email from the ASF dual-hosted git repository.
koushiro pushed a change to branch impl-debug-for-all-service-builder
in repository https://gitbox.apache.org/repos/asf/opendal.git
at c66eb6344 refactor(services): impl Debug for all service builders
This branch includes the following new commits:
new c66eb6344 refactor(services): impl Debug for all service builders
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(opendal) 01/01: refactor(services): impl Debug for all service builders
Posted by ko...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
koushiro pushed a commit to branch impl-debug-for-all-service-builder
in repository https://gitbox.apache.org/repos/asf/opendal.git
commit c66eb63449b26f2b2a7d994177d1530f26e7b30f
Author: koushiro <ko...@gmail.com>
AuthorDate: Wed Nov 5 13:05:18 2025 +0800
refactor(services): impl Debug for all service builders
* all service builders only implement the Debug and Default traits
* audit sensitive data fields in the service config to prevent them from being exposed when using Debug trait
---
core/src/services/aliyun_drive/backend.rs | 12 ++++-----
core/src/services/aliyun_drive/config.rs | 16 +++++-------
core/src/services/alluxio/backend.rs | 12 ++++-----
core/src/services/alluxio/config.rs | 16 +++++-------
core/src/services/alluxio/core.rs | 5 ++--
core/src/services/azblob/backend.rs | 16 +++++-------
core/src/services/azblob/config.rs | 28 ++++++--------------
core/src/services/azblob/core.rs | 4 +--
core/src/services/azdls/backend.rs | 16 +++++-------
core/src/services/azdls/config.rs | 36 ++++++--------------------
core/src/services/azdls/core.rs | 4 +--
core/src/services/azfile/backend.rs | 16 +++++-------
core/src/services/azfile/config.rs | 28 ++++++--------------
core/src/services/azfile/core.rs | 3 +--
core/src/services/b2/backend.rs | 12 ++++-----
core/src/services/b2/config.rs | 16 +++++-------
core/src/services/b2/core.rs | 5 ++--
core/src/services/cacache/backend.rs | 9 +++----
core/src/services/cacache/config.rs | 3 ++-
core/src/services/cloudflare_kv/backend.rs | 28 ++++++++++----------
core/src/services/cloudflare_kv/config.rs | 24 ++++++++---------
core/src/services/compfs/backend.rs | 9 +++----
core/src/services/compfs/config.rs | 3 ++-
core/src/services/cos/backend.rs | 11 ++++----
core/src/services/cos/config.rs | 10 ++++----
core/src/services/cos/core.rs | 5 ++--
core/src/services/d1/backend.rs | 11 ++++++++
core/src/services/d1/config.rs | 16 ++++++------
core/src/services/d1/core.rs | 13 +++++-----
core/src/services/dashmap/backend.rs | 15 ++---------
core/src/services/dashmap/config.rs | 16 ++++--------
core/src/services/dashmap/core.rs | 3 +--
core/src/services/dbfs/backend.rs | 14 +---------
core/src/services/dbfs/config.rs | 20 +++++----------
core/src/services/dbfs/error.rs | 11 ++++----
core/src/services/dropbox/backend.rs | 1 -
core/src/services/dropbox/builder.rs | 10 ++++----
core/src/services/dropbox/config.rs | 6 ++---
core/src/services/dropbox/core.rs | 13 +++++-----
core/src/services/etcd/backend.rs | 15 ++---------
core/src/services/etcd/config.rs | 37 +++++++++------------------
core/src/services/etcd/core.rs | 5 ++--
core/src/services/foundationdb/backend.rs | 2 +-
core/src/services/foundationdb/config.rs | 6 ++---
core/src/services/foundationdb/core.rs | 6 ++---
core/src/services/fs/backend.rs | 4 +--
core/src/services/fs/config.rs | 5 ++--
core/src/services/ftp/backend.rs | 18 +++----------
core/src/services/ftp/config.rs | 8 +++---
core/src/services/gcs/backend.rs | 16 +++++-------
core/src/services/gcs/config.rs | 6 ++---
core/src/services/gcs/core.rs | 7 +++--
core/src/services/gdrive/backend.rs | 7 ++---
core/src/services/gdrive/builder.rs | 20 +++++----------
core/src/services/gdrive/config.rs | 6 ++---
core/src/services/gdrive/core.rs | 17 ++++++------
core/src/services/ghac/backend.rs | 16 +++++++++---
core/src/services/ghac/config.rs | 15 +++++++++--
core/src/services/ghac/core.rs | 3 +--
core/src/services/github/backend.rs | 12 ++++-----
core/src/services/github/config.rs | 16 +++++-------
core/src/services/github/core.rs | 5 ++--
core/src/services/gridfs/backend.rs | 2 +-
core/src/services/gridfs/config.rs | 5 ++--
core/src/services/gridfs/core.rs | 5 ++--
core/src/services/hdfs/backend.rs | 14 ++--------
core/src/services/hdfs/config.rs | 6 ++---
core/src/services/hdfs/core.rs | 3 +--
core/src/services/hdfs_native/backend.rs | 15 +++--------
core/src/services/hdfs_native/config.rs | 6 ++---
core/src/services/hdfs_native/core.rs | 3 +--
core/src/services/http/backend.rs | 21 +++++----------
core/src/services/http/config.rs | 15 +++++------
core/src/services/http/core.rs | 5 ++--
core/src/services/huggingface/backend.rs | 15 ++---------
core/src/services/huggingface/config.rs | 31 +++++++---------------
core/src/services/huggingface/error.rs | 7 +++--
core/src/services/ipfs/backend.rs | 23 ++++++++---------
core/src/services/ipfs/config.rs | 3 ++-
core/src/services/ipfs/core.rs | 5 ++--
core/src/services/ipmfs/backend.rs | 12 +--------
core/src/services/ipmfs/builder.rs | 13 ++++++++--
core/src/services/ipmfs/config.rs | 5 ++--
core/src/services/ipmfs/core.rs | 5 ++--
core/src/services/koofr/backend.rs | 12 ++++-----
core/src/services/koofr/config.rs | 16 +++++-------
core/src/services/koofr/core.rs | 5 ++--
core/src/services/lakefs/backend.rs | 15 ++---------
core/src/services/lakefs/config.rs | 34 +++++++-----------------
core/src/services/lakefs/error.rs | 7 +++--
core/src/services/memcached/backend.rs | 2 +-
core/src/services/memcached/config.rs | 16 ++++++++++--
core/src/services/memory/backend.rs | 4 +--
core/src/services/memory/config.rs | 3 ++-
core/src/services/mini_moka/backend.rs | 21 +++------------
core/src/services/mini_moka/config.rs | 19 +++-----------
core/src/services/mini_moka/core.rs | 3 +--
core/src/services/moka/backend.rs | 7 +++--
core/src/services/moka/config.rs | 20 +++------------
core/src/services/moka/core.rs | 3 +--
core/src/services/mongodb/backend.rs | 2 +-
core/src/services/mongodb/config.rs | 5 ++--
core/src/services/mongodb/core.rs | 6 ++---
core/src/services/monoiofs/backend.rs | 7 ++---
core/src/services/monoiofs/config.rs | 5 ++--
core/src/services/mysql/backend.rs | 10 +-------
core/src/services/mysql/config.rs | 14 +++-------
core/src/services/obs/backend.rs | 13 +++++-----
core/src/services/obs/config.rs | 11 ++++----
core/src/services/obs/core.rs | 5 ++--
core/src/services/onedrive/backend.rs | 12 +--------
core/src/services/onedrive/builder.rs | 23 ++++++++---------
core/src/services/onedrive/config.rs | 8 +++---
core/src/services/onedrive/core.rs | 3 +--
core/src/services/opfs/backend.rs | 3 ++-
core/src/services/oss/backend.rs | 13 +++++-----
core/src/services/oss/config.rs | 15 +++++------
core/src/services/oss/core.rs | 5 ++--
core/src/services/pcloud/backend.rs | 12 ++++-----
core/src/services/pcloud/config.rs | 20 +++++++--------
core/src/services/pcloud/core.rs | 5 ++--
core/src/services/pcloud/error.rs | 3 +--
core/src/services/persy/backend.rs | 2 +-
core/src/services/persy/core.rs | 13 +++++-----
core/src/services/postgresql/backend.rs | 13 +---------
core/src/services/postgresql/config.rs | 14 +++-------
core/src/services/redb/backend.rs | 11 +++++++-
core/src/services/redb/core.rs | 9 +++----
core/src/services/redis/backend.rs | 17 +++---------
core/src/services/redis/config.rs | 32 ++++++++---------------
core/src/services/redis/core.rs | 9 +++----
core/src/services/rocksdb/backend.rs | 2 +-
core/src/services/rocksdb/config.rs | 2 --
core/src/services/rocksdb/core.rs | 9 +++----
core/src/services/s3/backend.rs | 19 ++++++--------
core/src/services/s3/config.rs | 16 +++++-------
core/src/services/s3/core.rs | 6 ++---
core/src/services/seafile/backend.rs | 12 ++++-----
core/src/services/seafile/config.rs | 16 +++++-------
core/src/services/seafile/core.rs | 5 ++--
core/src/services/sftp/backend.rs | 24 +++--------------
core/src/services/sftp/config.rs | 6 ++---
core/src/services/sftp/core.rs | 5 ++--
core/src/services/sled/backend.rs | 2 +-
core/src/services/sled/config.rs | 6 ++---
core/src/services/sled/core.rs | 9 +++----
core/src/services/sqlite/backend.rs | 30 ++++++++--------------
core/src/services/sqlite/config.rs | 16 +++++-------
core/src/services/surrealdb/backend.rs | 11 +-------
core/src/services/surrealdb/config.rs | 10 +++-----
core/src/services/surrealdb/core.rs | 6 ++---
core/src/services/swift/backend.rs | 11 +-------
core/src/services/swift/config.rs | 22 ++++++----------
core/src/services/tikv/backend.rs | 12 +--------
core/src/services/tikv/config.rs | 10 +++-----
core/src/services/tikv/core.rs | 3 +--
core/src/services/upyun/backend.rs | 12 ++++-----
core/src/services/upyun/config.rs | 18 ++++++-------
core/src/services/upyun/core.rs | 5 ++--
core/src/services/vercel_artifacts/backend.rs | 11 +-------
core/src/services/vercel_artifacts/builder.rs | 15 +++++------
core/src/services/vercel_artifacts/config.rs | 9 +++----
core/src/services/vercel_artifacts/core.rs | 5 ++--
core/src/services/vercel_blob/backend.rs | 10 +++-----
core/src/services/vercel_blob/config.rs | 14 +++++-----
core/src/services/vercel_blob/core.rs | 5 ++--
core/src/services/webdav/backend.rs | 23 +++++------------
core/src/services/webdav/config.rs | 17 ++++++------
core/src/services/webdav/core.rs | 4 +--
core/src/services/webhdfs/backend.rs | 16 +++---------
core/src/services/webhdfs/config.rs | 7 ++---
core/src/services/webhdfs/core.rs | 5 ++--
core/src/services/yandex_disk/backend.rs | 12 ++++-----
core/src/services/yandex_disk/config.rs | 14 +++++-----
core/src/services/yandex_disk/core.rs | 5 ++--
175 files changed, 738 insertions(+), 1213 deletions(-)
diff --git a/core/src/services/aliyun_drive/backend.rs b/core/src/services/aliyun_drive/backend.rs
index ec79d3a42..63eaf5803 100644
--- a/core/src/services/aliyun_drive/backend.rs
+++ b/core/src/services/aliyun_drive/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -26,6 +25,7 @@ use log::debug;
use tokio::sync::Mutex;
use super::ALIYUN_DRIVE_SCHEME;
+use super::config::AliyunDriveConfig;
use super::core::*;
use super::delete::AliyunDriveDeleter;
use super::error::parse_error;
@@ -33,7 +33,6 @@ use super::lister::AliyunDriveLister;
use super::lister::AliyunDriveParent;
use super::writer::AliyunDriveWriter;
use crate::raw::*;
-use crate::services::AliyunDriveConfig;
use crate::*;
#[doc = include_str!("docs.md")]
@@ -46,11 +45,10 @@ pub struct AliyunDriveBuilder {
}
impl Debug for AliyunDriveBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("AliyunDriveBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AliyunDriveBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/aliyun_drive/config.rs b/core/src/services/aliyun_drive/config.rs
index a65d992a7..498576801 100644
--- a/core/src/services/aliyun_drive/config.rs
+++ b/core/src/services/aliyun_drive/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::AliyunDriveBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::AliyunDriveBuilder;
+
/// Config for Aliyun Drive services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -62,13 +62,11 @@ pub struct AliyunDriveConfig {
}
impl Debug for AliyunDriveConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("AliyunDriveConfig");
-
- d.field("root", &self.root)
- .field("drive_type", &self.drive_type);
-
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AliyunDriveConfig")
+ .field("root", &self.root)
+ .field("drive_type", &self.drive_type)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/alluxio/backend.rs b/core/src/services/alluxio/backend.rs
index 9133e4696..df5776fa0 100644
--- a/core/src/services/alluxio/backend.rs
+++ b/core/src/services/alluxio/backend.rs
@@ -16,13 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
use log::debug;
use super::ALLUXIO_SCHEME;
+use super::config::AlluxioConfig;
use super::core::AlluxioCore;
use super::delete::AlluxioDeleter;
use super::error::parse_error;
@@ -30,7 +30,6 @@ use super::lister::AlluxioLister;
use super::writer::AlluxioWriter;
use super::writer::AlluxioWriters;
use crate::raw::*;
-use crate::services::AlluxioConfig;
use crate::*;
/// [Alluxio](https://www.alluxio.io/) services support.
@@ -44,11 +43,10 @@ pub struct AlluxioBuilder {
}
impl Debug for AlluxioBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("AlluxioBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AlluxioBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/alluxio/config.rs b/core/src/services/alluxio/config.rs
index 7ecde3acf..d16d6feb4 100644
--- a/core/src/services/alluxio/config.rs
+++ b/core/src/services/alluxio/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::AlluxioBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::AlluxioBuilder;
+
/// Config for alluxio services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,13 +40,11 @@ pub struct AlluxioConfig {
}
impl Debug for AlluxioConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("AlluxioConfig");
-
- d.field("root", &self.root)
- .field("endpoint", &self.endpoint);
-
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AlluxioConfig")
+ .field("root", &self.root)
+ .field("endpoint", &self.endpoint)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/alluxio/core.rs b/core/src/services/alluxio/core.rs
index c670207d0..558448385 100644
--- a/core/src/services/alluxio/core.rs
+++ b/core/src/services/alluxio/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -41,8 +40,8 @@ pub struct AlluxioCore {
}
impl Debug for AlluxioCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AlluxioCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
.finish_non_exhaustive()
diff --git a/core/src/services/azblob/backend.rs b/core/src/services/azblob/backend.rs
index 44cf9025e..98e5aafa1 100644
--- a/core/src/services/azblob/backend.rs
+++ b/core/src/services/azblob/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use base64::Engine;
@@ -31,6 +30,7 @@ use sha2::Digest;
use sha2::Sha256;
use super::AZBLOB_SCHEME;
+use super::config::AzblobConfig;
use super::core::AzblobCore;
use super::core::constants::X_MS_META_PREFIX;
use super::core::constants::X_MS_VERSION_ID;
@@ -40,8 +40,8 @@ use super::lister::AzblobLister;
use super::writer::AzblobWriter;
use super::writer::AzblobWriters;
use crate::raw::*;
-use crate::services::AzblobConfig;
use crate::*;
+
const AZBLOB_BATCH_LIMIT: usize = 256;
impl From<AzureStorageConfig> for AzblobConfig {
@@ -57,7 +57,7 @@ impl From<AzureStorageConfig> for AzblobConfig {
}
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Default)]
pub struct AzblobBuilder {
pub(super) config: AzblobConfig,
@@ -66,12 +66,10 @@ pub struct AzblobBuilder {
}
impl Debug for AzblobBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzblobBuilder");
-
- ds.field("config", &self.config);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzblobBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azblob/config.rs b/core/src/services/azblob/config.rs
index 811e5c5da..36345b42e 100644
--- a/core/src/services/azblob/config.rs
+++ b/core/src/services/azblob/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::AzblobBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::AzblobBuilder;
+
/// Azure Storage Blob services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct AzblobConfig {
@@ -79,24 +79,12 @@ pub struct AzblobConfig {
}
impl Debug for AzblobConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzblobConfig");
-
- ds.field("root", &self.root);
- ds.field("container", &self.container);
- ds.field("endpoint", &self.endpoint);
-
- if self.account_name.is_some() {
- ds.field("account_name", &"<redacted>");
- }
- if self.account_key.is_some() {
- ds.field("account_key", &"<redacted>");
- }
- if self.sas_token.is_some() {
- ds.field("sas_token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzblobConfig")
+ .field("root", &self.root)
+ .field("container", &self.container)
+ .field("endpoint", &self.endpoint)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azblob/core.rs b/core/src/services/azblob/core.rs
index 42985f689..fe533807b 100644
--- a/core/src/services/azblob/core.rs
+++ b/core/src/services/azblob/core.rs
@@ -15,9 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -77,7 +75,7 @@ pub struct AzblobCore {
}
impl Debug for AzblobCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("AzblobCore")
.field("container", &self.container)
.field("root", &self.root)
diff --git a/core/src/services/azdls/backend.rs b/core/src/services/azdls/backend.rs
index 1d255c9f3..4689e1ca6 100644
--- a/core/src/services/azdls/backend.rs
+++ b/core/src/services/azdls/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -27,6 +26,7 @@ use reqsign::AzureStorageLoader;
use reqsign::AzureStorageSigner;
use super::AZDLS_SCHEME;
+use super::config::AzdlsConfig;
use super::core::AzdlsCore;
use super::core::DIRECTORY;
use super::delete::AzdlsDeleter;
@@ -35,8 +35,8 @@ use super::lister::AzdlsLister;
use super::writer::AzdlsWriter;
use super::writer::AzdlsWriters;
use crate::raw::*;
-use crate::services::AzdlsConfig;
use crate::*;
+
impl From<AzureStorageConfig> for AzdlsConfig {
fn from(config: AzureStorageConfig) -> Self {
AzdlsConfig {
@@ -55,7 +55,7 @@ impl From<AzureStorageConfig> for AzdlsConfig {
/// Azure Data Lake Storage Gen2 Support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Default)]
pub struct AzdlsBuilder {
pub(super) config: AzdlsConfig,
@@ -64,12 +64,10 @@ pub struct AzdlsBuilder {
}
impl Debug for AzdlsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzdlsBuilder");
-
- ds.field("config", &self.config);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzdlsBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azdls/config.rs b/core/src/services/azdls/config.rs
index dde675f4a..da9c1753c 100644
--- a/core/src/services/azdls/config.rs
+++ b/core/src/services/azdls/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::AzdlsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::AzdlsBuilder;
+
/// Azure Data Lake Storage Gen2 Support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct AzdlsConfig {
@@ -60,32 +60,12 @@ pub struct AzdlsConfig {
}
impl Debug for AzdlsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzdlsConfig");
-
- ds.field("root", &self.root);
- ds.field("filesystem", &self.filesystem);
- ds.field("endpoint", &self.endpoint);
-
- if self.account_name.is_some() {
- ds.field("account_name", &"<redacted>");
- }
- if self.account_key.is_some() {
- ds.field("account_key", &"<redacted>");
- }
- if self.client_secret.is_some() {
- ds.field("client_secret", &"<redacted>");
- }
- if self.tenant_id.is_some() {
- ds.field("tenant_id", &"<redacted>");
- }
- if self.client_id.is_some() {
- ds.field("client_id", &"<redacted>");
- }
- if self.sas_token.is_some() {
- ds.field("sas_token", &"<redacted>");
- }
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzdlsConfig")
+ .field("root", &self.root)
+ .field("filesystem", &self.filesystem)
+ .field("endpoint", &self.endpoint)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azdls/core.rs b/core/src/services/azdls/core.rs
index 7f265b73a..5a194cc97 100644
--- a/core/src/services/azdls/core.rs
+++ b/core/src/services/azdls/core.rs
@@ -15,9 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::HeaderName;
@@ -54,7 +52,7 @@ pub struct AzdlsCore {
}
impl Debug for AzdlsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("AzdlsCore")
.field("filesystem", &self.filesystem)
.field("root", &self.root)
diff --git a/core/src/services/azfile/backend.rs b/core/src/services/azfile/backend.rs
index 257496477..5d9962211 100644
--- a/core/src/services/azfile/backend.rs
+++ b/core/src/services/azfile/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -27,6 +26,7 @@ use reqsign::AzureStorageLoader;
use reqsign::AzureStorageSigner;
use super::AZFILE_SCHEME;
+use super::config::AzfileConfig;
use super::core::AzfileCore;
use super::delete::AzfileDeleter;
use super::error::parse_error;
@@ -34,8 +34,8 @@ use super::lister::AzfileLister;
use super::writer::AzfileWriter;
use super::writer::AzfileWriters;
use crate::raw::*;
-use crate::services::AzfileConfig;
use crate::*;
+
impl From<AzureStorageConfig> for AzfileConfig {
fn from(config: AzureStorageConfig) -> Self {
AzfileConfig {
@@ -51,7 +51,7 @@ impl From<AzureStorageConfig> for AzfileConfig {
/// Azure File services support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Default)]
pub struct AzfileBuilder {
pub(super) config: AzfileConfig,
@@ -60,12 +60,10 @@ pub struct AzfileBuilder {
}
impl Debug for AzfileBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzfileBuilder");
-
- ds.field("config", &self.config);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzfileBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azfile/config.rs b/core/src/services/azfile/config.rs
index 6c91923f1..3ba880686 100644
--- a/core/src/services/azfile/config.rs
+++ b/core/src/services/azfile/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::AzfileBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::AzfileBuilder;
+
/// Azure File services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct AzfileConfig {
@@ -40,24 +40,12 @@ pub struct AzfileConfig {
}
impl Debug for AzfileConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("AzfileConfig");
-
- ds.field("root", &self.root);
- ds.field("share_name", &self.share_name);
- ds.field("endpoint", &self.endpoint);
-
- if self.account_name.is_some() {
- ds.field("account_name", &"<redacted>");
- }
- if self.account_key.is_some() {
- ds.field("account_key", &"<redacted>");
- }
- if self.sas_token.is_some() {
- ds.field("sas_token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("AzfileConfig")
+ .field("root", &self.root)
+ .field("endpoint", &self.endpoint)
+ .field("share_name", &self.share_name)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/azfile/core.rs b/core/src/services/azfile/core.rs
index f9fbd9631..5ff0e68cb 100644
--- a/core/src/services/azfile/core.rs
+++ b/core/src/services/azfile/core.rs
@@ -17,7 +17,6 @@
use std::collections::VecDeque;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::HeaderName;
@@ -54,7 +53,7 @@ pub struct AzfileCore {
}
impl Debug for AzfileCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("AzfileCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
diff --git a/core/src/services/b2/backend.rs b/core/src/services/b2/backend.rs
index d865ab861..bf21b41bf 100644
--- a/core/src/services/b2/backend.rs
+++ b/core/src/services/b2/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Request;
@@ -26,6 +25,7 @@ use log::debug;
use tokio::sync::RwLock;
use super::B2_SCHEME;
+use super::config::B2Config;
use super::core::B2Core;
use super::core::B2Signer;
use super::core::constants;
@@ -36,7 +36,6 @@ use super::lister::B2Lister;
use super::writer::B2Writer;
use super::writer::B2Writers;
use crate::raw::*;
-use crate::services::B2Config;
use crate::*;
/// [b2](https://www.backblaze.com/cloud-storage) services support.
@@ -50,11 +49,10 @@ pub struct B2Builder {
}
impl Debug for B2Builder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("B2Builder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("B2Builder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/b2/config.rs b/core/src/services/b2/config.rs
index e019b7af1..7910a4e99 100644
--- a/core/src/services/b2/config.rs
+++ b/core/src/services/b2/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::B2Builder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::B2Builder;
+
/// Config for backblaze b2 services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -52,15 +52,13 @@ pub struct B2Config {
}
impl Debug for B2Config {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("B2Config");
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("B2Config")
+ .field("root", &self.root)
.field("application_key_id", &self.application_key_id)
.field("bucket_id", &self.bucket_id)
- .field("bucket", &self.bucket);
-
- d.finish_non_exhaustive()
+ .field("bucket", &self.bucket)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/b2/core.rs b/core/src/services/b2/core.rs
index 8c07612fb..636200a38 100644
--- a/core/src/services/b2/core.rs
+++ b/core/src/services/b2/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -57,8 +56,8 @@ pub struct B2Core {
}
impl Debug for B2Core {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("B2Core")
.field("root", &self.root)
.field("bucket", &self.bucket)
.field("bucket_id", &self.bucket_id)
diff --git a/core/src/services/cacache/backend.rs b/core/src/services/cacache/backend.rs
index af910922f..34ef20a3e 100644
--- a/core/src/services/cacache/backend.rs
+++ b/core/src/services/cacache/backend.rs
@@ -15,20 +15,19 @@
// specific language governing permissions and limitations
// under the License.
-use crate::raw::*;
-use crate::services::CacacheConfig;
-use crate::*;
-use std::fmt::Debug;
use std::sync::Arc;
use super::CACACHE_SCHEME;
+use super::config::CacacheConfig;
use super::core::CacacheCore;
use super::delete::CacacheDeleter;
use super::writer::CacacheWriter;
+use crate::raw::*;
+use crate::*;
/// cacache service support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct CacacheBuilder {
pub(super) config: CacacheConfig,
}
diff --git a/core/src/services/cacache/config.rs b/core/src/services/cacache/config.rs
index 27455340b..c2366baf4 100644
--- a/core/src/services/cacache/config.rs
+++ b/core/src/services/cacache/config.rs
@@ -17,10 +17,11 @@
use std::fmt::Debug;
-use super::backend::CacacheBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::CacacheBuilder;
+
/// cacache service support.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct CacacheConfig {
diff --git a/core/src/services/cloudflare_kv/backend.rs b/core/src/services/cloudflare_kv/backend.rs
index 25abf8f6e..1afb8c09a 100644
--- a/core/src/services/cloudflare_kv/backend.rs
+++ b/core/src/services/cloudflare_kv/backend.rs
@@ -16,23 +16,22 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
+use bytes::Buf;
+use http::StatusCode;
+
use super::CLOUDFLARE_KV_SCHEME;
-use crate::ErrorKind;
+use super::config::CloudflareKvConfig;
+use super::core::CloudflareKvCore;
+use super::delete::CloudflareKvDeleter;
+use super::error::parse_error;
+use super::lister::CloudflareKvLister;
+use super::model::*;
+use super::writer::CloudflareWriter;
use crate::raw::*;
-use crate::services::CloudflareKvConfig;
-use crate::services::cloudflare_kv::core::CloudflareKvCore;
-use crate::services::cloudflare_kv::delete::CloudflareKvDeleter;
-use crate::services::cloudflare_kv::error::parse_error;
-use crate::services::cloudflare_kv::lister::CloudflareKvLister;
-use crate::services::cloudflare_kv::model::*;
-use crate::services::cloudflare_kv::writer::CloudflareWriter;
use crate::*;
-use bytes::Buf;
-use http::StatusCode;
#[doc = include_str!("docs.md")]
#[derive(Default)]
@@ -40,14 +39,15 @@ pub struct CloudflareKvBuilder {
pub(super) config: CloudflareKvConfig,
/// The HTTP client used to communicate with CloudFlare.
+ #[deprecated(since = "0.53.0", note = "Use `Operator::update_http_client` instead")]
pub(super) http_client: Option<HttpClient>,
}
impl Debug for CloudflareKvBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("CloudFlareKvBuilder")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("CloudflareKvBuilder")
.field("config", &self.config)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/cloudflare_kv/config.rs b/core/src/services/cloudflare_kv/config.rs
index b10eeb246..d1678d02b 100644
--- a/core/src/services/cloudflare_kv/config.rs
+++ b/core/src/services/cloudflare_kv/config.rs
@@ -16,13 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::time::Duration;
-use super::backend::CloudflareKvBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::CloudflareKvBuilder;
+
/// Cloudflare KV Service Support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct CloudflareKvConfig {
@@ -40,18 +40,13 @@ pub struct CloudflareKvConfig {
}
impl Debug for CloudflareKvConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("CloudflareKvConfig");
-
- ds.field("root", &self.root);
- ds.field("account_id", &self.account_id);
- ds.field("namespace_id", &self.namespace_id);
-
- if self.api_token.is_some() {
- ds.field("api_token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("CloudflareKvConfig")
+ .field("account_id", &self.account_id)
+ .field("namespace_id", &self.namespace_id)
+ .field("default_ttl", &self.default_ttl)
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
@@ -97,6 +92,7 @@ impl crate::Configurator for CloudflareKvConfig {
Self::from_iter(map)
}
+ #[allow(deprecated)]
fn into_builder(self) -> Self::Builder {
CloudflareKvBuilder {
config: self,
diff --git a/core/src/services/compfs/backend.rs b/core/src/services/compfs/backend.rs
index 8aa0c1705..463323153 100644
--- a/core/src/services/compfs/backend.rs
+++ b/core/src/services/compfs/backend.rs
@@ -22,18 +22,17 @@ use compio::dispatcher::Dispatcher;
use compio::fs::OpenOptions;
use super::COMPFS_SCHEME;
+use super::config::CompfsConfig;
use super::core::CompfsCore;
use super::delete::CompfsDeleter;
use super::lister::CompfsLister;
use super::reader::CompfsReader;
use super::writer::CompfsWriter;
-use crate::raw::oio::OneShotDeleter;
use crate::raw::*;
-use crate::services::CompfsConfig;
use crate::*;
/// [`compio`]-based file system support.
-#[derive(Debug, Clone, Default)]
+#[derive(Debug, Default)]
pub struct CompfsBuilder {
pub(super) config: CompfsConfig,
}
@@ -128,7 +127,7 @@ impl Access for CompfsBackend {
type Reader = CompfsReader;
type Writer = CompfsWriter;
type Lister = Option<CompfsLister>;
- type Deleter = OneShotDeleter<CompfsDeleter>;
+ type Deleter = oio::OneShotDeleter<CompfsDeleter>;
fn info(&self) -> Arc<AccessorInfo> {
self.core.info.clone()
@@ -168,7 +167,7 @@ impl Access for CompfsBackend {
async fn delete(&self) -> Result<(RpDelete, Self::Deleter)> {
Ok((
RpDelete::default(),
- OneShotDeleter::new(CompfsDeleter::new(self.core.clone())),
+ oio::OneShotDeleter::new(CompfsDeleter::new(self.core.clone())),
))
}
diff --git a/core/src/services/compfs/config.rs b/core/src/services/compfs/config.rs
index 0ca67f8e7..1f54bb430 100644
--- a/core/src/services/compfs/config.rs
+++ b/core/src/services/compfs/config.rs
@@ -17,10 +17,11 @@
use std::fmt::Debug;
-use super::backend::CompfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::CompfsBuilder;
+
/// compio-based file system support.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct CompfsConfig {
diff --git a/core/src/services/cos/backend.rs b/core/src/services/cos/backend.rs
index a526c6838..bd3fec429 100644
--- a/core/src/services/cos/backend.rs
+++ b/core/src/services/cos/backend.rs
@@ -27,6 +27,7 @@ use reqsign::TencentCosCredentialLoader;
use reqsign::TencentCosSigner;
use super::COS_SCHEME;
+use super::config::CosConfig;
use super::core::*;
use super::delete::CosDeleter;
use super::error::parse_error;
@@ -35,14 +36,12 @@ use super::lister::CosListers;
use super::lister::CosObjectVersionsLister;
use super::writer::CosWriter;
use super::writer::CosWriters;
-use crate::raw::oio::PageLister;
use crate::raw::*;
-use crate::services::CosConfig;
use crate::*;
/// Tencent-Cloud COS services support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Default)]
pub struct CosBuilder {
pub(super) config: CosConfig,
@@ -54,7 +53,7 @@ impl Debug for CosBuilder {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("CosBuilder")
.field("config", &self.config)
- .finish()
+ .finish_non_exhaustive()
}
}
@@ -371,13 +370,13 @@ impl Access for CosBackend {
async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let l = if args.versions() || args.deleted() {
- TwoWays::Two(PageLister::new(CosObjectVersionsLister::new(
+ TwoWays::Two(oio::PageLister::new(CosObjectVersionsLister::new(
self.core.clone(),
path,
args,
)))
} else {
- TwoWays::One(PageLister::new(CosLister::new(
+ TwoWays::One(oio::PageLister::new(CosLister::new(
self.core.clone(),
path,
args.recursive(),
diff --git a/core/src/services/cos/config.rs b/core/src/services/cos/config.rs
index 4b23b9ef3..5019bba6d 100644
--- a/core/src/services/cos/config.rs
+++ b/core/src/services/cos/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::CosBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::CosBuilder;
+
/// Tencent-Cloud COS services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -43,13 +43,13 @@ pub struct CosConfig {
}
impl Debug for CosConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("CosConfig")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
- .field("secret_id", &"<redacted>")
- .field("secret_key", &"<redacted>")
.field("bucket", &self.bucket)
+ .field("enable_versioning", &self.enable_versioning)
+ .field("disable_config_load", &self.disable_config_load)
.finish_non_exhaustive()
}
}
diff --git a/core/src/services/cos/core.rs b/core/src/services/cos/core.rs
index aaf878d39..cb3c75b38 100644
--- a/core/src/services/cos/core.rs
+++ b/core/src/services/cos/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -57,8 +56,8 @@ pub struct CosCore {
}
impl Debug for CosCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("CosCore")
.field("root", &self.root)
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
diff --git a/core/src/services/d1/backend.rs b/core/src/services/d1/backend.rs
index 224ef057c..c577febe9 100644
--- a/core/src/services/d1/backend.rs
+++ b/core/src/services/d1/backend.rs
@@ -15,6 +15,7 @@
// specific language governing permissions and limitations
// under the License.
+use std::fmt::Debug;
use std::sync::Arc;
use super::config::D1Config;
@@ -29,9 +30,18 @@ use crate::*;
pub struct D1Builder {
pub(super) config: D1Config,
+ #[deprecated(since = "0.53.0", note = "Use `Operator::update_http_client` instead")]
pub(super) http_client: Option<HttpClient>,
}
+impl Debug for D1Builder {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("D1Builder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
+ }
+}
+
impl D1Builder {
/// Set api token for the cloudflare d1 service.
///
@@ -134,6 +144,7 @@ impl Builder for D1Builder {
));
};
+ #[allow(deprecated)]
let client = if let Some(client) = self.http_client {
client
} else {
diff --git a/core/src/services/d1/config.rs b/core/src/services/d1/config.rs
index e20b9c076..cbc73f2c7 100644
--- a/core/src/services/d1/config.rs
+++ b/core/src/services/d1/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -46,13 +45,13 @@ pub struct D1Config {
}
impl Debug for D1Config {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("D1Config");
- ds.field("root", &self.root);
- ds.field("table", &self.table);
- ds.field("key_field", &self.key_field);
- ds.field("value_field", &self.value_field);
- ds.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("D1Config")
+ .field("root", &self.root)
+ .field("table", &self.table)
+ .field("key_field", &self.key_field)
+ .field("value_field", &self.value_field)
+ .finish_non_exhaustive()
}
}
@@ -98,6 +97,7 @@ impl crate::Configurator for D1Config {
Self::from_iter(map)
}
+ #[allow(deprecated)]
fn into_builder(self) -> Self::Builder {
D1Builder {
config: self,
diff --git a/core/src/services/d1/core.rs b/core/src/services/d1/core.rs
index da179dbf3..71fffd818 100644
--- a/core/src/services/d1/core.rs
+++ b/core/src/services/d1/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use http::Request;
use http::StatusCode;
@@ -41,12 +40,12 @@ pub struct D1Core {
}
impl Debug for D1Core {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("D1Core");
- ds.field("table", &self.table);
- ds.field("key_field", &self.key_field);
- ds.field("value_field", &self.value_field);
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("D1Core")
+ .field("table", &self.table)
+ .field("key_field", &self.key_field)
+ .field("value_field", &self.value_field)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/dashmap/backend.rs b/core/src/services/dashmap/backend.rs
index 778884e18..9315c46bb 100644
--- a/core/src/services/dashmap/backend.rs
+++ b/core/src/services/dashmap/backend.rs
@@ -15,38 +15,27 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use dashmap::DashMap;
use log::debug;
use super::DASHMAP_SCHEME;
+use super::config::DashmapConfig;
use super::core::DashmapCore;
use super::delete::DashmapDeleter;
use super::lister::DashmapLister;
use super::writer::DashmapWriter;
-use crate::raw::oio;
use crate::raw::*;
-use crate::services::DashmapConfig;
use crate::*;
/// [dashmap](https://github.com/xacrimon/dashmap) backend support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct DashmapBuilder {
pub(super) config: DashmapConfig,
}
-impl Debug for DashmapBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("DashmapBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl DashmapBuilder {
/// Set the root for dashmap.
pub fn root(mut self, path: &str) -> Self {
diff --git a/core/src/services/dashmap/config.rs b/core/src/services/dashmap/config.rs
index 15b37ce34..da4eba492 100644
--- a/core/src/services/dashmap/config.rs
+++ b/core/src/services/dashmap/config.rs
@@ -15,13 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-use super::backend::DashmapBuilder;
+use std::fmt::Debug;
+
use serde::Deserialize;
use serde::Serialize;
-use std::fmt::Debug;
+
+use super::backend::DashmapBuilder;
/// Config for Dashmap services support.
-#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
+#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct DashmapConfig {
@@ -29,14 +31,6 @@ pub struct DashmapConfig {
pub root: Option<String>,
}
-impl Debug for DashmapConfig {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("DashmapConfig")
- .field("root", &self.root)
- .finish_non_exhaustive()
- }
-}
-
impl crate::Configurator for DashmapConfig {
type Builder = DashmapBuilder;
fn from_uri(uri: &crate::types::OperatorUri) -> crate::Result<Self> {
diff --git a/core/src/services/dashmap/core.rs b/core/src/services/dashmap/core.rs
index cdb4caf88..173de8bd3 100644
--- a/core/src/services/dashmap/core.rs
+++ b/core/src/services/dashmap/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use dashmap::DashMap;
@@ -37,7 +36,7 @@ pub struct DashmapCore {
}
impl Debug for DashmapCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("DashmapCore")
.field("size", &self.cache.len())
.finish()
diff --git a/core/src/services/dbfs/backend.rs b/core/src/services/dbfs/backend.rs
index 2a8422a2d..7c67f5f97 100644
--- a/core/src/services/dbfs/backend.rs
+++ b/core/src/services/dbfs/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -36,21 +34,11 @@ use crate::*;
/// [Dbfs](https://docs.databricks.com/api/azure/workspace/dbfs)'s REST API support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Debug, Default)]
pub struct DbfsBuilder {
pub(super) config: DbfsConfig,
}
-impl Debug for DbfsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("DbfsBuilder");
-
- ds.field("config", &self.config);
-
- ds.finish()
- }
-}
-
impl DbfsBuilder {
/// Set root of this backend.
///
diff --git a/core/src/services/dbfs/config.rs b/core/src/services/dbfs/config.rs
index 38448ea3d..5f1b72ad7 100644
--- a/core/src/services/dbfs/config.rs
+++ b/core/src/services/dbfs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::DbfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::DbfsBuilder;
+
/// [Dbfs](https://docs.databricks.com/api/azure/workspace/dbfs)'s REST API support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct DbfsConfig {
@@ -34,17 +34,11 @@ pub struct DbfsConfig {
}
impl Debug for DbfsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("DbfsConfig");
-
- ds.field("root", &self.root);
- ds.field("endpoint", &self.endpoint);
-
- if self.token.is_some() {
- ds.field("token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("DbfsConfig")
+ .field("root", &self.root)
+ .field("endpoint", &self.endpoint)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/dbfs/error.rs b/core/src/services/dbfs/error.rs
index 666466b72..50d8fcce0 100644
--- a/core/src/services/dbfs/error.rs
+++ b/core/src/services/dbfs/error.rs
@@ -33,12 +33,11 @@ struct DbfsError {
impl Debug for DbfsError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("DbfsError");
- de.field("error_code", &self.error_code);
- // replace `\n` to ` ` for better reading.
- de.field("message", &self.message.replace('\n', " "));
-
- de.finish()
+ f.debug_struct("DbfsError")
+ .field("error_code", &self.error_code)
+ // replace `\n` to ` ` for better reading.
+ .field("message", &self.message.replace('\n', " "))
+ .finish()
}
}
diff --git a/core/src/services/dropbox/backend.rs b/core/src/services/dropbox/backend.rs
index 5b41dca85..f025fe6b6 100644
--- a/core/src/services/dropbox/backend.rs
+++ b/core/src/services/dropbox/backend.rs
@@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
use std::sync::Arc;
use bytes::Buf;
diff --git a/core/src/services/dropbox/builder.rs b/core/src/services/dropbox/builder.rs
index d580137e2..25a954785 100644
--- a/core/src/services/dropbox/builder.rs
+++ b/core/src/services/dropbox/builder.rs
@@ -16,16 +16,16 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
+
use tokio::sync::Mutex;
use super::DROPBOX_SCHEME;
use super::backend::DropboxBackend;
+use super::config::DropboxConfig;
use super::core::DropboxCore;
use super::core::DropboxSigner;
use crate::raw::*;
-use crate::services::DropboxConfig;
use crate::*;
/// [Dropbox](https://www.dropbox.com/) backend support.
@@ -39,10 +39,10 @@ pub struct DropboxBuilder {
}
impl Debug for DropboxBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("Builder")
- .field("root", &self.config.root)
- .finish()
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/dropbox/config.rs b/core/src/services/dropbox/config.rs
index f8d0efab9..179224258 100644
--- a/core/src/services/dropbox/config.rs
+++ b/core/src/services/dropbox/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::builder::DropboxBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::builder::DropboxBuilder;
+
/// Config for [Dropbox](https://www.dropbox.com/) backend support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,7 +40,7 @@ pub struct DropboxConfig {
}
impl Debug for DropboxConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("DropBoxConfig")
.field("root", &self.root)
.finish_non_exhaustive()
diff --git a/core/src/services/dropbox/core.rs b/core/src/services/dropbox/core.rs
index 3972b9306..30e61ce35 100644
--- a/core/src/services/dropbox/core.rs
+++ b/core/src/services/dropbox/core.rs
@@ -15,6 +15,10 @@
// specific language governing permissions and limitations
// under the License.
+use std::fmt::Debug;
+use std::sync::Arc;
+use std::time::Duration;
+
use bytes::Buf;
use bytes::Bytes;
use http::Request;
@@ -25,11 +29,6 @@ use http::header::CONTENT_LENGTH;
use http::header::CONTENT_TYPE;
use serde::Deserialize;
use serde::Serialize;
-use std::default::Default;
-use std::fmt::Debug;
-use std::fmt::Formatter;
-use std::sync::Arc;
-use std::time::Duration;
use tokio::sync::Mutex;
use super::error::parse_error;
@@ -43,10 +42,10 @@ pub struct DropboxCore {
}
impl Debug for DropboxCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("DropboxCore")
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/etcd/backend.rs b/core/src/services/etcd/backend.rs
index ab6903828..4a106226e 100644
--- a/core/src/services/etcd/backend.rs
+++ b/core/src/services/etcd/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use etcd_client::Certificate;
@@ -26,31 +24,22 @@ use etcd_client::TlsOptions;
use tokio::sync::OnceCell;
use super::ETCD_SCHEME;
+use super::config::EtcdConfig;
use super::core::EtcdCore;
use super::core::constants::DEFAULT_ETCD_ENDPOINTS;
use super::deleter::EtcdDeleter;
use super::lister::EtcdLister;
use super::writer::EtcdWriter;
use crate::raw::*;
-use crate::services::EtcdConfig;
use crate::*;
/// [Etcd](https://etcd.io/) services support.
#[doc = include_str!("docs.md")]
-#[derive(Clone, Default)]
+#[derive(Debug, Default)]
pub struct EtcdBuilder {
pub(super) config: EtcdConfig,
}
-impl Debug for EtcdBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Builder");
-
- ds.field("config", &self.config);
- ds.finish()
- }
-}
-
impl EtcdBuilder {
/// set the network address of etcd service.
///
diff --git a/core/src/services/etcd/config.rs b/core/src/services/etcd/config.rs
index 5b3f3af89..592ae68d3 100644
--- a/core/src/services/etcd/config.rs
+++ b/core/src/services/etcd/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::EtcdBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::EtcdBuilder;
+
/// Config for Etcd services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -60,34 +60,21 @@ pub struct EtcdConfig {
}
impl Debug for EtcdConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("EtcdConfig");
-
- ds.field("root", &self.root);
- if let Some(endpoints) = self.endpoints.clone() {
- ds.field("endpoints", &endpoints);
- }
- if let Some(username) = self.username.clone() {
- ds.field("username", &username);
- }
- if self.password.is_some() {
- ds.field("password", &"<redacted>");
- }
- if let Some(ca_path) = self.ca_path.clone() {
- ds.field("ca_path", &ca_path);
- }
- if let Some(cert_path) = self.cert_path.clone() {
- ds.field("cert_path", &cert_path);
- }
- if let Some(key_path) = self.key_path.clone() {
- ds.field("key_path", &key_path);
- }
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("EtcdConfig")
+ .field("root", &self.root)
+ .field("endpoints", &self.endpoints)
+ .field("username", &self.username)
+ .field("ca_path", &self.ca_path)
+ .field("cert_path", &self.cert_path)
+ .field("key_path", &self.key_path)
+ .finish_non_exhaustive()
}
}
impl crate::Configurator for EtcdConfig {
type Builder = EtcdBuilder;
+
fn from_uri(uri: &crate::types::OperatorUri) -> crate::Result<Self> {
let mut map = uri.options().clone();
diff --git a/core/src/services/etcd/core.rs b/core/src/services/etcd/core.rs
index c83d08beb..e21fa9e8e 100644
--- a/core/src/services/etcd/core.rs
+++ b/core/src/services/etcd/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use bb8::PooledConnection;
use bb8::RunError;
@@ -68,11 +67,11 @@ pub struct EtcdCore {
}
impl Debug for EtcdCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("EtcdCore")
.field("endpoints", &self.endpoints.join(","))
.field("options", &self.options.clone())
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/foundationdb/backend.rs b/core/src/services/foundationdb/backend.rs
index e1fcad793..d0ed2f62f 100644
--- a/core/src/services/foundationdb/backend.rs
+++ b/core/src/services/foundationdb/backend.rs
@@ -28,7 +28,7 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct FoundationdbBuilder {
pub(super) config: FoundationdbConfig,
}
diff --git a/core/src/services/foundationdb/config.rs b/core/src/services/foundationdb/config.rs
index c6c752aa8..86cbbc407 100644
--- a/core/src/services/foundationdb/config.rs
+++ b/core/src/services/foundationdb/config.rs
@@ -21,14 +21,14 @@ use serde::Serialize;
use super::backend::FoundationdbBuilder;
/// [foundationdb](https://www.foundationdb.org/) service support.
-///Config for FoundationDB.
+/// Config for FoundationDB.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct FoundationdbConfig {
- ///root of the backend.
+ /// root of the backend.
pub root: Option<String>,
- ///config_path for the backend.
+ /// config_path for the backend.
pub config_path: Option<String>,
}
diff --git a/core/src/services/foundationdb/core.rs b/core/src/services/foundationdb/core.rs
index a1f2d27be..cc5ffba71 100644
--- a/core/src/services/foundationdb/core.rs
+++ b/core/src/services/foundationdb/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use foundationdb::Database;
@@ -31,9 +30,8 @@ pub struct FoundationdbCore {
}
impl Debug for FoundationdbCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("FoundationdbCore");
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("FoundationdbCore").finish_non_exhaustive()
}
}
diff --git a/core/src/services/fs/backend.rs b/core/src/services/fs/backend.rs
index 9e210e2cc..b57ecf46e 100644
--- a/core/src/services/fs/backend.rs
+++ b/core/src/services/fs/backend.rs
@@ -21,6 +21,7 @@ use std::sync::Arc;
use log::debug;
use super::FS_SCHEME;
+use super::config::FsConfig;
use super::core::*;
use super::delete::FsDeleter;
use super::lister::FsLister;
@@ -28,12 +29,11 @@ use super::reader::FsReader;
use super::writer::FsWriter;
use super::writer::FsWriters;
use crate::raw::*;
-use crate::services::FsConfig;
use crate::*;
/// POSIX file system support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Debug)]
+#[derive(Debug, Default)]
pub struct FsBuilder {
pub(super) config: FsConfig,
}
diff --git a/core/src/services/fs/config.rs b/core/src/services/fs/config.rs
index da4c9b47a..d9212d5d2 100644
--- a/core/src/services/fs/config.rs
+++ b/core/src/services/fs/config.rs
@@ -15,12 +15,11 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-
-use super::backend::FsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::FsBuilder;
+
/// config for file system
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
diff --git a/core/src/services/ftp/backend.rs b/core/src/services/ftp/backend.rs
index ec47ce6f4..75006da4c 100644
--- a/core/src/services/ftp/backend.rs
+++ b/core/src/services/ftp/backend.rs
@@ -16,8 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use std::str;
use std::str::FromStr;
use std::sync::Arc;
@@ -31,6 +29,7 @@ use suppaftp::types::Response;
use tokio::sync::OnceCell;
use super::FTP_SCHEME;
+use super::config::FtpConfig;
use super::core::FtpCore;
use super::delete::FtpDeleter;
use super::err::parse_error;
@@ -38,24 +37,15 @@ use super::lister::FtpLister;
use super::reader::FtpReader;
use super::writer::FtpWriter;
use crate::raw::*;
-use crate::services::FtpConfig;
use crate::*;
/// FTP and FTPS services support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct FtpBuilder {
pub(super) config: FtpConfig,
}
-impl Debug for FtpBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("FtpBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl FtpBuilder {
/// set endpoint for ftp backend.
pub fn endpoint(mut self, endpoint: &str) -> Self {
@@ -199,8 +189,8 @@ pub struct FtpBackend {
}
impl Debug for FtpBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend").finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("FtpBackend").finish()
}
}
diff --git a/core/src/services/ftp/config.rs b/core/src/services/ftp/config.rs
index 8e3718d95..b986bf431 100644
--- a/core/src/services/ftp/config.rs
+++ b/core/src/services/ftp/config.rs
@@ -16,13 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::FTP_SCHEME;
-use super::backend::FtpBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::FTP_SCHEME;
+use super::backend::FtpBuilder;
+
/// Config for Ftp services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -39,7 +39,7 @@ pub struct FtpConfig {
}
impl Debug for FtpConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("FtpConfig")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
diff --git a/core/src/services/gcs/backend.rs b/core/src/services/gcs/backend.rs
index aa90f603b..667cebecb 100644
--- a/core/src/services/gcs/backend.rs
+++ b/core/src/services/gcs/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -28,16 +27,16 @@ use reqsign::GoogleTokenLoad;
use reqsign::GoogleTokenLoader;
use super::GCS_SCHEME;
+use super::config::GcsConfig;
use super::core::*;
use super::delete::GcsDeleter;
use super::error::parse_error;
use super::lister::GcsLister;
use super::writer::GcsWriter;
use super::writer::GcsWriters;
-use crate::raw::oio::BatchDeleter;
use crate::raw::*;
-use crate::services::GcsConfig;
use crate::*;
+
const DEFAULT_GCS_ENDPOINT: &str = "https://storage.googleapis.com";
const DEFAULT_GCS_SCOPE: &str = "https://www.googleapis.com/auth/devstorage.read_write";
@@ -53,11 +52,10 @@ pub struct GcsBuilder {
}
impl Debug for GcsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("GcsBuilder");
-
- ds.field("config", &self.config);
- ds.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GcsBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
@@ -431,7 +429,7 @@ impl Access for GcsBackend {
async fn delete(&self) -> Result<(RpDelete, Self::Deleter)> {
Ok((
RpDelete::default(),
- BatchDeleter::new(GcsDeleter::new(self.core.clone())),
+ oio::BatchDeleter::new(GcsDeleter::new(self.core.clone())),
))
}
diff --git a/core/src/services/gcs/config.rs b/core/src/services/gcs/config.rs
index bcbc83a34..870494f03 100644
--- a/core/src/services/gcs/config.rs
+++ b/core/src/services/gcs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::GcsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::GcsBuilder;
+
/// [Google Cloud Storage](https://cloud.google.com/storage) services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -74,7 +74,7 @@ pub struct GcsConfig {
}
impl Debug for GcsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GcsConfig")
.field("root", &self.root)
.field("bucket", &self.bucket)
diff --git a/core/src/services/gcs/core.rs b/core/src/services/gcs/core.rs
index 2dc1594ab..f9e88406c 100644
--- a/core/src/services/gcs/core.rs
+++ b/core/src/services/gcs/core.rs
@@ -17,7 +17,6 @@
use std::collections::HashMap;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::fmt::Write;
use std::sync::Arc;
use std::sync::LazyLock;
@@ -77,9 +76,9 @@ pub struct GcsCore {
}
impl Debug for GcsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("Backend");
- de.field("endpoint", &self.endpoint)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GcsCore")
+ .field("endpoint", &self.endpoint)
.field("bucket", &self.bucket)
.field("root", &self.root)
.finish_non_exhaustive()
diff --git a/core/src/services/gdrive/backend.rs b/core/src/services/gdrive/backend.rs
index 1efe3f969..3ac30f44a 100644
--- a/core/src/services/gdrive/backend.rs
+++ b/core/src/services/gdrive/backend.rs
@@ -18,6 +18,10 @@
use std::fmt::Debug;
use std::sync::Arc;
+use bytes::Buf;
+use http::Response;
+use http::StatusCode;
+
use super::core::GdriveCore;
use super::core::GdriveFile;
use super::delete::GdriveDeleter;
@@ -26,9 +30,6 @@ use super::lister::GdriveLister;
use super::writer::GdriveWriter;
use crate::raw::*;
use crate::*;
-use bytes::Buf;
-use http::Response;
-use http::StatusCode;
#[derive(Clone, Debug)]
pub struct GdriveBackend {
diff --git a/core/src/services/gdrive/builder.rs b/core/src/services/gdrive/builder.rs
index e519e175f..68e467371 100644
--- a/core/src/services/gdrive/builder.rs
+++ b/core/src/services/gdrive/builder.rs
@@ -15,25 +15,19 @@
// specific language governing permissions and limitations
// under the License.
-use log::debug;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
+
+use log::debug;
use tokio::sync::Mutex;
use super::GDRIVE_SCHEME;
use super::backend::GdriveBackend;
+use super::config::GdriveConfig;
use super::core::GdriveCore;
use super::core::GdrivePathQuery;
use super::core::GdriveSigner;
-use crate::Scheme;
-use crate::raw::Access;
-use crate::raw::AccessorInfo;
-use crate::raw::HttpClient;
-use crate::raw::PathCacher;
-use crate::raw::Timestamp;
-use crate::raw::normalize_root;
-use crate::services::GdriveConfig;
+use crate::raw::*;
use crate::*;
/// [GoogleDrive](https://drive.google.com/) backend support.
@@ -47,10 +41,10 @@ pub struct GdriveBuilder {
}
impl Debug for GdriveBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GdriveBuilder")
.field("config", &self.config)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/gdrive/config.rs b/core/src/services/gdrive/config.rs
index fcc725db0..3360da3eb 100644
--- a/core/src/services/gdrive/config.rs
+++ b/core/src/services/gdrive/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::builder::GdriveBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::builder::GdriveBuilder;
+
/// [GoogleDrive](https://drive.google.com/) configuration.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,7 +40,7 @@ pub struct GdriveConfig {
}
impl Debug for GdriveConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GdriveConfig")
.field("root", &self.root)
.finish_non_exhaustive()
diff --git a/core/src/services/gdrive/core.rs b/core/src/services/gdrive/core.rs
index 94b7e340f..7e4f00db3 100644
--- a/core/src/services/gdrive/core.rs
+++ b/core/src/services/gdrive/core.rs
@@ -15,7 +15,10 @@
// specific language governing permissions and limitations
// under the License.
-use bytes;
+use std::fmt::Debug;
+use std::sync::Arc;
+use std::time::Duration;
+
use bytes::Buf;
use bytes::Bytes;
use http::Request;
@@ -24,10 +27,6 @@ use http::StatusCode;
use http::header;
use serde::Deserialize;
use serde_json::json;
-use std::fmt::Debug;
-use std::fmt::Formatter;
-use std::sync::Arc;
-use std::time::Duration;
use tokio::sync::Mutex;
use super::error::parse_error;
@@ -46,10 +45,10 @@ pub struct GdriveCore {
}
impl Debug for GdriveCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("GdriveCore");
- de.field("root", &self.root);
- de.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GdriveCore")
+ .field("root", &self.root)
+ .finish()
}
}
diff --git a/core/src/services/ghac/backend.rs b/core/src/services/ghac/backend.rs
index 6ac4c6f99..b2c896e15 100644
--- a/core/src/services/ghac/backend.rs
+++ b/core/src/services/ghac/backend.rs
@@ -16,6 +16,7 @@
// under the License.
use std::env;
+use std::fmt::Debug;
use std::sync::Arc;
use http::Response;
@@ -24,13 +25,14 @@ use log::debug;
use sha2::Digest;
use super::GHAC_SCHEME;
+use super::config::GhacConfig;
+use super::core::GhacCore;
use super::core::*;
use super::error::parse_error;
use super::writer::GhacWriter;
use crate::raw::*;
-use crate::services::GhacConfig;
-use crate::services::ghac::core::GhacCore;
use crate::*;
+
fn value_or_env(
explicit_value: Option<String>,
env_var_name: &str,
@@ -50,7 +52,7 @@ fn value_or_env(
/// GitHub Action Cache Services support.
#[doc = include_str!("docs.md")]
-#[derive(Debug, Default)]
+#[derive(Default)]
pub struct GhacBuilder {
pub(super) config: GhacConfig,
@@ -58,6 +60,14 @@ pub struct GhacBuilder {
pub(super) http_client: Option<HttpClient>,
}
+impl Debug for GhacBuilder {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GhacBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
+ }
+}
+
impl GhacBuilder {
/// set the working directory root of backend
pub fn root(mut self, root: &str) -> Self {
diff --git a/core/src/services/ghac/config.rs b/core/src/services/ghac/config.rs
index 0d088aacf..07469326e 100644
--- a/core/src/services/ghac/config.rs
+++ b/core/src/services/ghac/config.rs
@@ -17,12 +17,13 @@
use std::fmt::Debug;
-use super::backend::GhacBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::GhacBuilder;
+
/// Config for GitHub Action Cache Services support.
-#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
+#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct GhacConfig {
@@ -36,6 +37,16 @@ pub struct GhacConfig {
pub runtime_token: Option<String>,
}
+impl Debug for GhacConfig {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GhacConfig")
+ .field("root", &self.root)
+ .field("version", &self.version)
+ .field("endpoint", &self.endpoint)
+ .finish_non_exhaustive()
+ }
+}
+
impl crate::Configurator for GhacConfig {
type Builder = GhacBuilder;
diff --git a/core/src/services/ghac/core.rs b/core/src/services/ghac/core.rs
index b76bc79ee..d4518bb7f 100644
--- a/core/src/services/ghac/core.rs
+++ b/core/src/services/ghac/core.rs
@@ -17,7 +17,6 @@
use std::env;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::str::FromStr;
use std::sync::Arc;
@@ -89,7 +88,7 @@ pub struct GhacCore {
}
impl Debug for GhacCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GhacCore")
.field("root", &self.root)
.field("cache_url", &self.cache_url)
diff --git a/core/src/services/github/backend.rs b/core/src/services/github/backend.rs
index 3801c66bf..cff70e2ed 100644
--- a/core/src/services/github/backend.rs
+++ b/core/src/services/github/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -25,6 +24,7 @@ use http::StatusCode;
use log::debug;
use super::GITHUB_SCHEME;
+use super::config::GithubConfig;
use super::core::Entry;
use super::core::GithubCore;
use super::delete::GithubDeleter;
@@ -33,7 +33,6 @@ use super::lister::GithubLister;
use super::writer::GithubWriter;
use super::writer::GithubWriters;
use crate::raw::*;
-use crate::services::GithubConfig;
use crate::*;
/// [github contents](https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents) services support.
@@ -47,11 +46,10 @@ pub struct GithubBuilder {
}
impl Debug for GithubBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("GithubBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GithubBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/github/config.rs b/core/src/services/github/config.rs
index ae15866ae..ce8ee25c7 100644
--- a/core/src/services/github/config.rs
+++ b/core/src/services/github/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::GithubBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::GithubBuilder;
+
/// Config for GitHub services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -48,14 +48,12 @@ pub struct GithubConfig {
}
impl Debug for GithubConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("GithubConfig");
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GithubConfig")
+ .field("root", &self.root)
.field("owner", &self.owner)
- .field("repo", &self.repo);
-
- d.finish_non_exhaustive()
+ .field("repo", &self.repo)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/github/core.rs b/core/src/services/github/core.rs
index f88e5ec24..d7a19afa1 100644
--- a/core/src/services/github/core.rs
+++ b/core/src/services/github/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use base64::Engine;
@@ -49,8 +48,8 @@ pub struct GithubCore {
}
impl Debug for GithubCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("GithubCore")
.field("root", &self.root)
.field("owner", &self.owner)
.field("repo", &self.repo)
diff --git a/core/src/services/gridfs/backend.rs b/core/src/services/gridfs/backend.rs
index 81948f1cd..8d0f16ffd 100644
--- a/core/src/services/gridfs/backend.rs
+++ b/core/src/services/gridfs/backend.rs
@@ -27,7 +27,7 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct GridfsBuilder {
pub(super) config: GridfsConfig,
}
diff --git a/core/src/services/gridfs/config.rs b/core/src/services/gridfs/config.rs
index 4f92c01b1..512602034 100644
--- a/core/src/services/gridfs/config.rs
+++ b/core/src/services/gridfs/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -41,13 +40,13 @@ pub struct GridfsConfig {
}
impl Debug for GridfsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GridFsConfig")
.field("database", &self.database)
.field("bucket", &self.bucket)
.field("chunk_size", &self.chunk_size)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/gridfs/core.rs b/core/src/services/gridfs/core.rs
index 4861e11bd..2c06e3cc6 100644
--- a/core/src/services/gridfs/core.rs
+++ b/core/src/services/gridfs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use futures::AsyncReadExt;
use futures::AsyncWriteExt;
@@ -39,12 +38,12 @@ pub struct GridfsCore {
}
impl Debug for GridfsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GridfsCore")
.field("database", &self.database)
.field("bucket", &self.bucket)
.field("chunk_size", &self.chunk_size)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/hdfs/backend.rs b/core/src/services/hdfs/backend.rs
index 7a70f4e3f..286cbce33 100644
--- a/core/src/services/hdfs/backend.rs
+++ b/core/src/services/hdfs/backend.rs
@@ -15,37 +15,27 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::io;
use std::sync::Arc;
use log::debug;
use super::HDFS_SCHEME;
+use super::config::HdfsConfig;
use super::core::HdfsCore;
use super::delete::HdfsDeleter;
use super::lister::HdfsLister;
use super::reader::HdfsReader;
use super::writer::HdfsWriter;
use crate::raw::*;
-use crate::services::HdfsConfig;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct HdfsBuilder {
pub(super) config: HdfsConfig,
}
-impl Debug for HdfsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("HdfsBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl HdfsBuilder {
/// Set root of this backend.
///
diff --git a/core/src/services/hdfs/config.rs b/core/src/services/hdfs/config.rs
index 0f29b51cc..cce1a19b8 100644
--- a/core/src/services/hdfs/config.rs
+++ b/core/src/services/hdfs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::HdfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::HdfsBuilder;
+
/// [Hadoop Distributed File System (HDFSâ„¢)](https://hadoop.apache.org/) support.
///
/// Config for Hdfs services support.
@@ -44,7 +44,7 @@ pub struct HdfsConfig {
}
impl Debug for HdfsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("HdfsConfig")
.field("root", &self.root)
.field("name_node", &self.name_node)
diff --git a/core/src/services/hdfs/core.rs b/core/src/services/hdfs/core.rs
index 6e8e08bdc..75025fb3e 100644
--- a/core/src/services/hdfs/core.rs
+++ b/core/src/services/hdfs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::io;
use std::io::SeekFrom;
use std::sync::Arc;
@@ -34,7 +33,7 @@ pub struct HdfsCore {
}
impl Debug for HdfsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("HdfsCore")
.field("root", &self.root)
.field("atomic_write_dir", &self.atomic_write_dir)
diff --git a/core/src/services/hdfs_native/backend.rs b/core/src/services/hdfs_native/backend.rs
index 39ac787b6..557567cf8 100644
--- a/core/src/services/hdfs_native/backend.rs
+++ b/core/src/services/hdfs_native/backend.rs
@@ -15,13 +15,12 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use log::debug;
use super::HDFS_NATIVE_SCHEME;
+use super::config::HdfsNativeConfig;
use super::core::HdfsNativeCore;
use super::delete::HdfsNativeDeleter;
use super::error::parse_hdfs_error;
@@ -29,24 +28,16 @@ use super::lister::HdfsNativeLister;
use super::reader::HdfsNativeReader;
use super::writer::HdfsNativeWriter;
use crate::raw::*;
-use crate::services::HdfsNativeConfig;
use crate::*;
+
/// [Hadoop Distributed File System (HDFSâ„¢)](https://hadoop.apache.org/) support.
/// Using [Native Rust HDFS client](https://github.com/Kimahriman/hdfs-native).
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct HdfsNativeBuilder {
pub(super) config: HdfsNativeConfig,
}
-impl Debug for HdfsNativeBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("HdfsNativeBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl HdfsNativeBuilder {
/// Set root of this backend.
///
diff --git a/core/src/services/hdfs_native/config.rs b/core/src/services/hdfs_native/config.rs
index 67216c10b..7fbc8ae21 100644
--- a/core/src/services/hdfs_native/config.rs
+++ b/core/src/services/hdfs_native/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::HdfsNativeBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::HdfsNativeBuilder;
+
/// Config for HdfsNative services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -36,7 +36,7 @@ pub struct HdfsNativeConfig {
}
impl Debug for HdfsNativeConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("HdfsNativeConfig")
.field("root", &self.root)
.field("name_node", &self.name_node)
diff --git a/core/src/services/hdfs_native/core.rs b/core/src/services/hdfs_native/core.rs
index 353458ee5..ab38e0699 100644
--- a/core/src/services/hdfs_native/core.rs
+++ b/core/src/services/hdfs_native/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use hdfs_native::HdfsError;
@@ -36,7 +35,7 @@ pub struct HdfsNativeCore {
}
impl Debug for HdfsNativeCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("HdfsNativeCore")
.field("root", &self.root)
.field("enable_append", &self.enable_append)
diff --git a/core/src/services/http/backend.rs b/core/src/services/http/backend.rs
index 2df44ce62..16bd4f0b5 100644
--- a/core/src/services/http/backend.rs
+++ b/core/src/services/http/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -24,10 +23,10 @@ use http::StatusCode;
use log::debug;
use super::HTTP_SCHEME;
+use super::config::HttpConfig;
use super::core::HttpCore;
use super::error::parse_error;
use crate::raw::*;
-use crate::services::HttpConfig;
use crate::*;
/// HTTP Read-only service support like [Nginx](https://www.nginx.com/) and [Caddy](https://caddyserver.com/).
@@ -41,10 +40,10 @@ pub struct HttpBuilder {
}
impl Debug for HttpBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("HttpBuilder");
-
- de.field("config", &self.config).finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("HttpBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
@@ -187,19 +186,11 @@ impl Builder for HttpBuilder {
}
/// Backend is used to serve `Accessor` support for http.
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct HttpBackend {
core: Arc<HttpCore>,
}
-impl Debug for HttpBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("HttpBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for HttpBackend {
type Reader = HttpBody;
type Writer = ();
diff --git a/core/src/services/http/config.rs b/core/src/services/http/config.rs
index aea56476c..8d0aafe57 100644
--- a/core/src/services/http/config.rs
+++ b/core/src/services/http/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::HttpBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::HttpBuilder;
+
/// Config for Http service support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,12 +40,11 @@ pub struct HttpConfig {
}
impl Debug for HttpConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("HttpConfig");
- de.field("endpoint", &self.endpoint);
- de.field("root", &self.root);
-
- de.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("HttpConfig")
+ .field("endpoint", &self.endpoint)
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/http/core.rs b/core/src/services/http/core.rs
index a345fde0a..a2f02004a 100644
--- a/core/src/services/http/core.rs
+++ b/core/src/services/http/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Request;
@@ -38,11 +37,11 @@ pub struct HttpCore {
}
impl Debug for HttpCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("HttpCore")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/huggingface/backend.rs b/core/src/services/huggingface/backend.rs
index b4b44c2e4..44b18a9e2 100644
--- a/core/src/services/huggingface/backend.rs
+++ b/core/src/services/huggingface/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -25,30 +23,21 @@ use http::StatusCode;
use log::debug;
use super::HUGGINGFACE_SCHEME;
+use super::config::HuggingfaceConfig;
use super::core::HuggingfaceCore;
use super::core::HuggingfaceStatus;
use super::error::parse_error;
use super::lister::HuggingfaceLister;
use crate::raw::*;
-use crate::services::HuggingfaceConfig;
use crate::*;
/// [Huggingface](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api)'s API support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Debug, Default)]
pub struct HuggingfaceBuilder {
pub(super) config: HuggingfaceConfig,
}
-impl Debug for HuggingfaceBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Builder");
-
- ds.field("config", &self.config);
- ds.finish()
- }
-}
-
impl HuggingfaceBuilder {
/// Set repo type of this backend. Default is model.
///
diff --git a/core/src/services/huggingface/config.rs b/core/src/services/huggingface/config.rs
index 69f4b140c..011f3a987 100644
--- a/core/src/services/huggingface/config.rs
+++ b/core/src/services/huggingface/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::HuggingfaceBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::HuggingfaceBuilder;
+
/// Configuration for Huggingface service support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -52,26 +52,13 @@ pub struct HuggingfaceConfig {
}
impl Debug for HuggingfaceConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("HuggingfaceConfig");
-
- if let Some(repo_type) = &self.repo_type {
- ds.field("repo_type", &repo_type);
- }
- if let Some(repo_id) = &self.repo_id {
- ds.field("repo_id", &repo_id);
- }
- if let Some(revision) = &self.revision {
- ds.field("revision", &revision);
- }
- if let Some(root) = &self.root {
- ds.field("root", &root);
- }
- if self.token.is_some() {
- ds.field("token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("HuggingfaceConfig")
+ .field("repo_type", &self.repo_type)
+ .field("repo_id", &self.repo_id)
+ .field("revision", &self.revision)
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/huggingface/error.rs b/core/src/services/huggingface/error.rs
index e69a70a25..1a95a1f89 100644
--- a/core/src/services/huggingface/error.rs
+++ b/core/src/services/huggingface/error.rs
@@ -32,10 +32,9 @@ struct HuggingfaceError {
impl Debug for HuggingfaceError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("HuggingfaceError");
- de.field("message", &self.error.replace('\n', " "));
-
- de.finish()
+ f.debug_struct("HuggingfaceError")
+ .field("message", &self.error.replace('\n', " "))
+ .finish()
}
}
diff --git a/core/src/services/ipfs/backend.rs b/core/src/services/ipfs/backend.rs
index 209e2951b..5de37c1cf 100644
--- a/core/src/services/ipfs/backend.rs
+++ b/core/src/services/ipfs/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -25,16 +24,16 @@ use log::debug;
use prost::Message;
use super::IPFS_SCHEME;
+use super::config::IpfsConfig;
use super::core::IpfsCore;
use super::error::parse_error;
use super::ipld::PBNode;
use crate::raw::*;
-use crate::services::IpfsConfig;
use crate::*;
/// IPFS file system support based on [IPFS HTTP Gateway](https://docs.ipfs.tech/concepts/ipfs-gateway/).
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone, Debug)]
+#[derive(Default)]
pub struct IpfsBuilder {
pub(super) config: IpfsConfig,
@@ -42,6 +41,14 @@ pub struct IpfsBuilder {
pub(super) http_client: Option<HttpClient>,
}
+impl Debug for IpfsBuilder {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("IpfsBuilder")
+ .field("config", &self.config)
+ .finish()
+ }
+}
+
impl IpfsBuilder {
/// Set root of ipfs backend.
///
@@ -146,19 +153,11 @@ impl Builder for IpfsBuilder {
}
/// Backend for IPFS.
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct IpfsBackend {
core: Arc<IpfsCore>,
}
-impl Debug for IpfsBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("IpfsBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for IpfsBackend {
type Reader = HttpBody;
type Writer = ();
diff --git a/core/src/services/ipfs/config.rs b/core/src/services/ipfs/config.rs
index 826a30ec2..85eac1c68 100644
--- a/core/src/services/ipfs/config.rs
+++ b/core/src/services/ipfs/config.rs
@@ -17,10 +17,11 @@
use std::fmt::Debug;
-use super::backend::IpfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::IpfsBuilder;
+
/// Config for IPFS file system support.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
diff --git a/core/src/services/ipfs/core.rs b/core/src/services/ipfs/core.rs
index b1147edcc..681ffceeb 100644
--- a/core/src/services/ipfs/core.rs
+++ b/core/src/services/ipfs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Request;
@@ -34,11 +33,11 @@ pub struct IpfsCore {
}
impl Debug for IpfsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("IpfsCore")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/ipmfs/backend.rs b/core/src/services/ipmfs/backend.rs
index 841967ff9..0a83924a7 100644
--- a/core/src/services/ipmfs/backend.rs
+++ b/core/src/services/ipmfs/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt;
-use std::str;
use std::sync::Arc;
use bytes::Buf;
@@ -34,19 +32,11 @@ use crate::*;
/// IPFS Mutable File System (IPMFS) backend.
#[doc = include_str!("docs.md")]
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct IpmfsBackend {
pub core: Arc<IpmfsCore>,
}
-impl fmt::Debug for IpmfsBackend {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- f.debug_struct("IpmfsBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for IpmfsBackend {
type Reader = HttpBody;
type Writer = oio::OneShotWriter<IpmfsWriter>;
diff --git a/core/src/services/ipmfs/builder.rs b/core/src/services/ipmfs/builder.rs
index e0557e7a4..975bcaa20 100644
--- a/core/src/services/ipmfs/builder.rs
+++ b/core/src/services/ipmfs/builder.rs
@@ -15,15 +15,16 @@
// specific language governing permissions and limitations
// under the License.
+use std::fmt::Debug;
use std::sync::Arc;
use log::debug;
use super::IPMFS_SCHEME;
use super::backend::IpmfsBackend;
+use super::config::IpmfsConfig;
use super::core::IpmfsCore;
use crate::raw::*;
-use crate::services::IpmfsConfig;
use crate::*;
/// IPFS file system support based on [IPFS MFS](https://docs.ipfs.tech/concepts/file-systems/) API.
@@ -66,7 +67,7 @@ use crate::*;
/// Ok(())
/// }
/// ```
-#[derive(Default, Debug)]
+#[derive(Default)]
pub struct IpmfsBuilder {
pub(super) config: IpmfsConfig,
@@ -74,6 +75,14 @@ pub struct IpmfsBuilder {
pub(super) http_client: Option<HttpClient>,
}
+impl Debug for IpmfsBuilder {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("IpmfsBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
+ }
+}
+
impl IpmfsBuilder {
/// Set root for ipfs.
pub fn root(mut self, root: &str) -> Self {
diff --git a/core/src/services/ipmfs/config.rs b/core/src/services/ipmfs/config.rs
index 834c0b921..fbd32d874 100644
--- a/core/src/services/ipmfs/config.rs
+++ b/core/src/services/ipmfs/config.rs
@@ -15,12 +15,11 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-
-use super::builder::IpmfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::builder::IpmfsBuilder;
+
/// Config for IPFS MFS support.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
diff --git a/core/src/services/ipmfs/core.rs b/core/src/services/ipmfs/core.rs
index 92bb3cfd7..e93ade99a 100644
--- a/core/src/services/ipmfs/core.rs
+++ b/core/src/services/ipmfs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::fmt::Write;
use std::sync::Arc;
@@ -33,11 +32,11 @@ pub struct IpmfsCore {
}
impl Debug for IpmfsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("IpmfsCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/koofr/backend.rs b/core/src/services/koofr/backend.rs
index 52c431e49..b0eca1647 100644
--- a/core/src/services/koofr/backend.rs
+++ b/core/src/services/koofr/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -27,6 +26,7 @@ use tokio::sync::Mutex;
use tokio::sync::OnceCell;
use super::KOOFR_SCHEME;
+use super::config::KoofrConfig;
use super::core::File;
use super::core::KoofrCore;
use super::core::KoofrSigner;
@@ -36,7 +36,6 @@ use super::lister::KoofrLister;
use super::writer::KoofrWriter;
use super::writer::KoofrWriters;
use crate::raw::*;
-use crate::services::KoofrConfig;
use crate::*;
/// [Koofr](https://app.koofr.net/) services support.
@@ -50,11 +49,10 @@ pub struct KoofrBuilder {
}
impl Debug for KoofrBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("KoofrBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("KoofrBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/koofr/config.rs b/core/src/services/koofr/config.rs
index 61d05d38d..8b0e6892c 100644
--- a/core/src/services/koofr/config.rs
+++ b/core/src/services/koofr/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::KoofrBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::KoofrBuilder;
+
/// Config for Koofr services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,13 +40,11 @@ pub struct KoofrConfig {
}
impl Debug for KoofrConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Config");
-
- ds.field("root", &self.root);
- ds.field("email", &self.email);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("KoofrConfig")
+ .field("root", &self.root)
+ .field("email", &self.email)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/koofr/core.rs b/core/src/services/koofr/core.rs
index d47a4080f..c9747501a 100644
--- a/core/src/services/koofr/core.rs
+++ b/core/src/services/koofr/core.rs
@@ -17,7 +17,6 @@
use std::collections::VecDeque;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -56,8 +55,8 @@ pub struct KoofrCore {
}
impl Debug for KoofrCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("KoofrCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
.field("email", &self.email)
diff --git a/core/src/services/lakefs/backend.rs b/core/src/services/lakefs/backend.rs
index fefae65b9..3518cd760 100644
--- a/core/src/services/lakefs/backend.rs
+++ b/core/src/services/lakefs/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -25,6 +23,7 @@ use http::StatusCode;
use log::debug;
use super::LAKEFS_SCHEME;
+use super::config::LakefsConfig;
use super::core::LakefsCore;
use super::core::LakefsStatus;
use super::delete::LakefsDeleter;
@@ -32,25 +31,15 @@ use super::error::parse_error;
use super::lister::LakefsLister;
use super::writer::LakefsWriter;
use crate::raw::*;
-use crate::services::LakefsConfig;
use crate::*;
/// [Lakefs](https://docs.lakefs.io/reference/api.html#/)'s API support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Debug, Default)]
pub struct LakefsBuilder {
pub(super) config: LakefsConfig,
}
-impl Debug for LakefsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Builder");
-
- ds.field("config", &self.config);
- ds.finish()
- }
-}
-
impl LakefsBuilder {
/// Set the endpoint of this backend.
///
diff --git a/core/src/services/lakefs/config.rs b/core/src/services/lakefs/config.rs
index 98c994c64..6ad265f79 100644
--- a/core/src/services/lakefs/config.rs
+++ b/core/src/services/lakefs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::LakefsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::LakefsBuilder;
+
/// Configuration for Lakefs service support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -55,29 +55,13 @@ pub struct LakefsConfig {
}
impl Debug for LakefsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("LakefsConfig");
-
- if let Some(endpoint) = &self.endpoint {
- ds.field("endpoint", &endpoint);
- }
- if let Some(_username) = &self.username {
- ds.field("username", &"<redacted>");
- }
- if let Some(_password) = &self.password {
- ds.field("password", &"<redacted>");
- }
- if let Some(root) = &self.root {
- ds.field("root", &root);
- }
- if let Some(repository) = &self.repository {
- ds.field("repository", &repository);
- }
- if let Some(branch) = &self.branch {
- ds.field("branch", &branch);
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("LakefsConfig")
+ .field("endpoint", &self.endpoint)
+ .field("root", &self.root)
+ .field("repository", &self.repository)
+ .field("branch", &self.branch)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/lakefs/error.rs b/core/src/services/lakefs/error.rs
index 69934d747..3e64b0eea 100644
--- a/core/src/services/lakefs/error.rs
+++ b/core/src/services/lakefs/error.rs
@@ -32,10 +32,9 @@ struct LakefsError {
impl Debug for LakefsError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("LakefsError");
- de.field("message", &self.error.replace('\n', " "));
-
- de.finish()
+ f.debug_struct("LakefsError")
+ .field("message", &self.error.replace('\n', " "))
+ .finish()
}
}
diff --git a/core/src/services/memcached/backend.rs b/core/src/services/memcached/backend.rs
index 7c7260084..b682f4c6f 100644
--- a/core/src/services/memcached/backend.rs
+++ b/core/src/services/memcached/backend.rs
@@ -29,7 +29,7 @@ use crate::*;
/// [Memcached](https://memcached.org/) service support.
#[doc = include_str!("docs.md")]
-#[derive(Clone, Default)]
+#[derive(Debug, Default)]
pub struct MemcachedBuilder {
pub(super) config: MemcachedConfig,
}
diff --git a/core/src/services/memcached/config.rs b/core/src/services/memcached/config.rs
index 3ca336b3f..88c2f81ff 100644
--- a/core/src/services/memcached/config.rs
+++ b/core/src/services/memcached/config.rs
@@ -18,12 +18,13 @@
use std::fmt::Debug;
use std::time::Duration;
-use super::backend::MemcachedBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::MemcachedBuilder;
+
/// Config for MemCached services support
-#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
+#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct MemcachedConfig {
@@ -43,6 +44,17 @@ pub struct MemcachedConfig {
pub default_ttl: Option<Duration>,
}
+impl Debug for MemcachedConfig {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("MemcachedConfig")
+ .field("endpoint", &self.endpoint)
+ .field("root", &self.root)
+ .field("username", &self.username)
+ .field("default_ttl", &self.default_ttl)
+ .finish_non_exhaustive()
+ }
+}
+
impl crate::Configurator for MemcachedConfig {
type Builder = MemcachedBuilder;
diff --git a/core/src/services/memory/backend.rs b/core/src/services/memory/backend.rs
index 1966a25cf..f6a0c717d 100644
--- a/core/src/services/memory/backend.rs
+++ b/core/src/services/memory/backend.rs
@@ -19,18 +19,18 @@ use std::fmt::Debug;
use std::sync::Arc;
use super::MEMORY_SCHEME;
+use super::config::MemoryConfig;
use super::core::*;
use super::delete::MemoryDeleter;
use super::lister::MemoryLister;
use super::writer::MemoryWriter;
use crate::raw::oio;
use crate::raw::*;
-use crate::services::MemoryConfig;
use crate::*;
/// In memory service support. (BTreeMap Based)
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct MemoryBuilder {
pub(super) config: MemoryConfig,
}
diff --git a/core/src/services/memory/config.rs b/core/src/services/memory/config.rs
index c464e6990..619ca9a41 100644
--- a/core/src/services/memory/config.rs
+++ b/core/src/services/memory/config.rs
@@ -17,10 +17,11 @@
use std::fmt::Debug;
-use super::backend::MemoryBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::MemoryBuilder;
+
/// Config for memory.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
diff --git a/core/src/services/mini_moka/backend.rs b/core/src/services/mini_moka/backend.rs
index 44e00a9da..8fd5a92e2 100644
--- a/core/src/services/mini_moka/backend.rs
+++ b/core/src/services/mini_moka/backend.rs
@@ -15,40 +15,27 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
use log::debug;
use super::MINI_MOKA_SCHEME;
+use super::config::MiniMokaConfig;
use super::core::*;
use super::delete::MiniMokaDeleter;
use super::lister::MiniMokaLister;
use super::writer::MiniMokaWriter;
-use crate::raw::oio;
-use crate::raw::oio::HierarchyLister;
-use crate::raw::signed_to_duration;
use crate::raw::*;
-use crate::services::MiniMokaConfig;
use crate::*;
/// [mini-moka](https://github.com/moka-rs/mini-moka) backend support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct MiniMokaBuilder {
pub(super) config: MiniMokaConfig,
}
-impl Debug for MiniMokaBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("MiniMokaBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl MiniMokaBuilder {
/// Create a [`MiniMokaBuilder`] with default configuration.
pub fn new() -> Self {
@@ -147,7 +134,7 @@ impl MiniMokaBackend {
impl Access for MiniMokaBackend {
type Reader = Buffer;
type Writer = MiniMokaWriter;
- type Lister = HierarchyLister<MiniMokaLister>;
+ type Lister = oio::HierarchyLister<MiniMokaLister>;
type Deleter = oio::OneShotDeleter<MiniMokaDeleter>;
fn info(&self) -> Arc<AccessorInfo> {
@@ -250,7 +237,7 @@ impl Access for MiniMokaBackend {
let p = build_abs_path(&self.root, path);
let mini_moka_lister = MiniMokaLister::new(self.core.clone(), self.root.clone(), p);
- let lister = HierarchyLister::new(mini_moka_lister, path, op.recursive());
+ let lister = oio::HierarchyLister::new(mini_moka_lister, path, op.recursive());
Ok((RpList::default(), lister))
}
diff --git a/core/src/services/mini_moka/config.rs b/core/src/services/mini_moka/config.rs
index 88e1e27cf..8106858f2 100644
--- a/core/src/services/mini_moka/config.rs
+++ b/core/src/services/mini_moka/config.rs
@@ -15,15 +15,13 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
-
-use super::backend::MiniMokaBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::MiniMokaBuilder;
+
/// Config for mini-moka support.
-#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
+#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct MiniMokaConfig {
@@ -44,17 +42,6 @@ pub struct MiniMokaConfig {
pub root: Option<String>,
}
-impl Debug for MiniMokaConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("MiniMokaConfig")
- .field("max_capacity", &self.max_capacity)
- .field("time_to_live", &self.time_to_live)
- .field("time_to_idle", &self.time_to_idle)
- .field("root", &self.root)
- .finish()
- }
-}
-
impl crate::Configurator for MiniMokaConfig {
type Builder = MiniMokaBuilder;
diff --git a/core/src/services/mini_moka/core.rs b/core/src/services/mini_moka/core.rs
index ca4453e17..9b95463a1 100644
--- a/core/src/services/mini_moka/core.rs
+++ b/core/src/services/mini_moka/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use mini_moka::sync::Cache;
@@ -37,7 +36,7 @@ pub struct MiniMokaCore {
}
impl Debug for MiniMokaCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("MiniMokaCore")
.field("size", &self.cache.weighted_size())
.field("count", &self.cache.entry_count())
diff --git a/core/src/services/moka/backend.rs b/core/src/services/moka/backend.rs
index c5565d09e..c880ddda7 100644
--- a/core/src/services/moka/backend.rs
+++ b/core/src/services/moka/backend.rs
@@ -16,13 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
use log::debug;
use super::MOKA_SCHEME;
+use super::config::MokaConfig;
use super::core::*;
use super::delete::MokaDeleter;
use super::lister::MokaLister;
@@ -30,7 +30,6 @@ use super::writer::MokaWriter;
use crate::raw::oio;
use crate::raw::signed_to_duration;
use crate::raw::*;
-use crate::services::MokaConfig;
use crate::*;
/// Type alias of [`moka::future::Cache`](https://docs.rs/moka/latest/moka/future/struct.Cache.html)
@@ -47,10 +46,10 @@ pub struct MokaBuilder {
}
impl Debug for MokaBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("MokaBuilder")
.field("config", &self.config)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/moka/config.rs b/core/src/services/moka/config.rs
index 378f380c5..fb0f4b998 100644
--- a/core/src/services/moka/config.rs
+++ b/core/src/services/moka/config.rs
@@ -15,15 +15,13 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
-
-use super::backend::MokaBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::MokaBuilder;
+
/// Config for Moka services support.
-#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
+#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
#[non_exhaustive]
pub struct MokaConfig {
@@ -46,18 +44,6 @@ pub struct MokaConfig {
pub root: Option<String>,
}
-impl Debug for MokaConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("MokaConfig")
- .field("name", &self.name)
- .field("max_capacity", &self.max_capacity)
- .field("time_to_live", &self.time_to_live)
- .field("time_to_idle", &self.time_to_idle)
- .field("root", &self.root)
- .finish_non_exhaustive()
- }
-}
-
impl crate::Configurator for MokaConfig {
type Builder = MokaBuilder;
diff --git a/core/src/services/moka/core.rs b/core/src/services/moka/core.rs
index 6302130f7..b46bdfbaa 100644
--- a/core/src/services/moka/core.rs
+++ b/core/src/services/moka/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use moka::future::Cache;
@@ -37,7 +36,7 @@ pub struct MokaCore {
}
impl Debug for MokaCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("MokaCore")
.field("size", &self.cache.weighted_size())
.field("count", &self.cache.entry_count())
diff --git a/core/src/services/mongodb/backend.rs b/core/src/services/mongodb/backend.rs
index d92eab42e..faa84fc05 100644
--- a/core/src/services/mongodb/backend.rs
+++ b/core/src/services/mongodb/backend.rs
@@ -27,7 +27,7 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct MongodbBuilder {
pub(super) config: MongodbConfig,
}
diff --git a/core/src/services/mongodb/config.rs b/core/src/services/mongodb/config.rs
index 746dccc0c..817835e34 100644
--- a/core/src/services/mongodb/config.rs
+++ b/core/src/services/mongodb/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -43,14 +42,14 @@ pub struct MongodbConfig {
}
impl Debug for MongodbConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("MongodbConfig")
.field("database", &self.database)
.field("collection", &self.collection)
.field("root", &self.root)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/mongodb/core.rs b/core/src/services/mongodb/core.rs
index 5daf2976b..820242359 100644
--- a/core/src/services/mongodb/core.rs
+++ b/core/src/services/mongodb/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use mongodb::bson::Binary;
use mongodb::bson::Document;
@@ -37,14 +36,13 @@ pub struct MongodbCore {
}
impl Debug for MongodbCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("MongodbCore")
- .field("connection_string", &self.connection_string)
.field("database", &self.database)
.field("collection", &self.collection)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/monoiofs/backend.rs b/core/src/services/monoiofs/backend.rs
index a842d58b9..33268cc63 100644
--- a/core/src/services/monoiofs/backend.rs
+++ b/core/src/services/monoiofs/backend.rs
@@ -15,24 +15,25 @@
// specific language governing permissions and limitations
// under the License.
-use monoio::fs::OpenOptions;
use std::fmt::Debug;
use std::io;
use std::path::PathBuf;
use std::sync::Arc;
+use monoio::fs::OpenOptions;
+
+use super::config::MonoiofsConfig;
use super::core::BUFFER_SIZE;
use super::core::MonoiofsCore;
use super::delete::MonoiofsDeleter;
use super::reader::MonoiofsReader;
use super::writer::MonoiofsWriter;
use crate::raw::*;
-use crate::services::MonoiofsConfig;
use crate::*;
/// File system support via [`monoio`].
#[doc = include_str!("docs.md")]
-#[derive(Default, Debug)]
+#[derive(Debug, Default)]
pub struct MonoiofsBuilder {
pub(super) config: MonoiofsConfig,
}
diff --git a/core/src/services/monoiofs/config.rs b/core/src/services/monoiofs/config.rs
index 22fdbfbe8..08e925850 100644
--- a/core/src/services/monoiofs/config.rs
+++ b/core/src/services/monoiofs/config.rs
@@ -15,12 +15,11 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-
-use super::backend::MonoiofsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::MonoiofsBuilder;
+
/// Config for monoiofs services support.
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
diff --git a/core/src/services/mysql/backend.rs b/core/src/services/mysql/backend.rs
index 36dd47818..dcb097dc5 100644
--- a/core/src/services/mysql/backend.rs
+++ b/core/src/services/mysql/backend.rs
@@ -30,19 +30,11 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct MysqlBuilder {
pub(super) config: MysqlConfig,
}
-impl Debug for MysqlBuilder {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("MysqlBuilder");
-
- d.field("config", &self.config).finish()
- }
-}
-
impl MysqlBuilder {
/// Set the connection_string of the mysql service.
///
diff --git a/core/src/services/mysql/config.rs b/core/src/services/mysql/config.rs
index 9e1e8a215..3614f0a78 100644
--- a/core/src/services/mysql/config.rs
+++ b/core/src/services/mysql/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -52,18 +51,13 @@ pub struct MysqlConfig {
}
impl Debug for MysqlConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("MysqlConfig");
-
- if self.connection_string.is_some() {
- d.field("connection_string", &"<redacted>");
- }
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("MysqlConfig")
+ .field("root", &self.root)
.field("table", &self.table)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/obs/backend.rs b/core/src/services/obs/backend.rs
index 3b1e966fe..c9c2b225e 100644
--- a/core/src/services/obs/backend.rs
+++ b/core/src/services/obs/backend.rs
@@ -17,7 +17,6 @@
use std::collections::HashMap;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -29,6 +28,7 @@ use reqsign::HuaweicloudObsCredentialLoader;
use reqsign::HuaweicloudObsSigner;
use super::OBS_SCHEME;
+use super::config::ObsConfig;
use super::core::ObsCore;
use super::core::constants;
use super::delete::ObsDeleter;
@@ -37,12 +37,11 @@ use super::lister::ObsLister;
use super::writer::ObsWriter;
use super::writer::ObsWriters;
use crate::raw::*;
-use crate::services::ObsConfig;
use crate::*;
/// Huawei-Cloud Object Storage Service (OBS) support
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Default)]
pub struct ObsBuilder {
pub(super) config: ObsConfig,
@@ -51,10 +50,10 @@ pub struct ObsBuilder {
}
impl Debug for ObsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("ObsBuilder");
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("ObsBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/obs/config.rs b/core/src/services/obs/config.rs
index 441b892dc..1977305d1 100644
--- a/core/src/services/obs/config.rs
+++ b/core/src/services/obs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::ObsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::ObsBuilder;
+
/// Config for Huawei-Cloud Object Storage Service (OBS) support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -42,14 +42,13 @@ pub struct ObsConfig {
}
impl Debug for ObsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("ObsConfig")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
- .field("access_key_id", &"<redacted>")
- .field("secret_access_key", &"<redacted>")
.field("bucket", &self.bucket)
- .finish()
+ .field("enable_versioning", &self.enable_versioning)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/obs/core.rs b/core/src/services/obs/core.rs
index 802ebef10..33f03f549 100644
--- a/core/src/services/obs/core.rs
+++ b/core/src/services/obs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -54,8 +53,8 @@ pub struct ObsCore {
}
impl Debug for ObsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("ObsCore")
.field("root", &self.root)
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
diff --git a/core/src/services/onedrive/backend.rs b/core/src/services/onedrive/backend.rs
index bed50f7d3..b55311087 100644
--- a/core/src/services/onedrive/backend.rs
+++ b/core/src/services/onedrive/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -30,19 +28,11 @@ use super::writer::OneDriveWriter;
use crate::raw::*;
use crate::*;
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct OnedriveBackend {
pub core: Arc<OneDriveCore>,
}
-impl Debug for OnedriveBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("OnedriveBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for OnedriveBackend {
type Reader = HttpBody;
type Writer = oio::OneShotWriter<OneDriveWriter>;
diff --git a/core/src/services/onedrive/builder.rs b/core/src/services/onedrive/builder.rs
index 02528c4a1..250c6e26b 100644
--- a/core/src/services/onedrive/builder.rs
+++ b/core/src/services/onedrive/builder.rs
@@ -15,23 +15,18 @@
// specific language governing permissions and limitations
// under the License.
+use std::fmt::Debug;
+use std::sync::Arc;
+
use log::debug;
use services::onedrive::core::OneDriveCore;
use services::onedrive::core::OneDriveSigner;
-use std::fmt::Debug;
-use std::fmt::Formatter;
-use std::sync::Arc;
use tokio::sync::Mutex;
use super::ONEDRIVE_SCHEME;
use super::backend::OnedriveBackend;
-use crate::Scheme;
-use crate::raw::Access;
-use crate::raw::AccessorInfo;
-use crate::raw::HttpClient;
-use crate::raw::Timestamp;
-use crate::raw::normalize_root;
-use crate::services::OnedriveConfig;
+use super::config::OnedriveConfig;
+use crate::raw::*;
use crate::*;
/// Microsoft [OneDrive](https://onedrive.com) backend support.
@@ -39,14 +34,16 @@ use crate::*;
#[derive(Default)]
pub struct OnedriveBuilder {
pub(super) config: OnedriveConfig,
+
+ #[deprecated(since = "0.53.0", note = "Use `Operator::update_http_client` instead")]
pub(super) http_client: Option<HttpClient>,
}
impl Debug for OnedriveBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("OnedriveBuilder")
.field("config", &self.config)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/onedrive/config.rs b/core/src/services/onedrive/config.rs
index f9d7d652f..369894636 100644
--- a/core/src/services/onedrive/config.rs
+++ b/core/src/services/onedrive/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::builder::OnedriveBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::builder::OnedriveBuilder;
+
/// Config for [OneDrive](https://onedrive.com) backend support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -42,9 +42,10 @@ pub struct OnedriveConfig {
}
impl Debug for OnedriveConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("OnedriveConfig")
.field("root", &self.root)
+ .field("enable_versioning", &self.enable_versioning)
.finish_non_exhaustive()
}
}
@@ -70,6 +71,7 @@ impl crate::Configurator for OnedriveConfig {
Self::from_iter(map)
}
+ #[allow(deprecated)]
fn into_builder(self) -> Self::Builder {
OnedriveBuilder {
config: self,
diff --git a/core/src/services/onedrive/core.rs b/core/src/services/onedrive/core.rs
index 359156109..4ebd93014 100644
--- a/core/src/services/onedrive/core.rs
+++ b/core/src/services/onedrive/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -40,7 +39,7 @@ pub struct OneDriveCore {
}
impl Debug for OneDriveCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("OneDriveCore")
.field("root", &self.root)
.finish_non_exhaustive()
diff --git a/core/src/services/opfs/backend.rs b/core/src/services/opfs/backend.rs
index 387dcbb6b..c7c6db0b6 100644
--- a/core/src/services/opfs/backend.rs
+++ b/core/src/services/opfs/backend.rs
@@ -17,11 +17,12 @@
use std::fmt::Debug;
use std::sync::Arc;
+
use web_sys::FileSystemGetDirectoryOptions;
use super::utils::*;
-use crate::Result;
use crate::raw::*;
+use crate::*;
/// OPFS Service backend
#[derive(Default, Debug, Clone)]
diff --git a/core/src/services/oss/backend.rs b/core/src/services/oss/backend.rs
index 9fab743a3..622c85c05 100644
--- a/core/src/services/oss/backend.rs
+++ b/core/src/services/oss/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -28,6 +27,7 @@ use reqsign::AliyunLoader;
use reqsign::AliyunOssSigner;
use super::OSS_SCHEME;
+use super::config::OssConfig;
use super::core::*;
use super::delete::OssDeleter;
use super::error::parse_error;
@@ -37,8 +37,8 @@ use super::lister::OssObjectVersionsLister;
use super::writer::OssWriter;
use super::writer::OssWriters;
use crate::raw::*;
-use crate::services::OssConfig;
use crate::*;
+
const DEFAULT_BATCH_MAX_OPERATIONS: usize = 1000;
/// Aliyun Object Storage Service (OSS) support
@@ -52,11 +52,10 @@ pub struct OssBuilder {
}
impl Debug for OssBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("OssBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("OssBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/oss/config.rs b/core/src/services/oss/config.rs
index 034166282..c98b9f668 100644
--- a/core/src/services/oss/config.rs
+++ b/core/src/services/oss/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::OssBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::OssBuilder;
+
/// Config for Aliyun Object Storage Service (OSS) support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -102,14 +102,13 @@ pub struct OssConfig {
}
impl Debug for OssConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("Builder");
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("Builder")
+ .field("root", &self.root)
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
- .field("allow_anonymous", &self.allow_anonymous);
-
- d.finish_non_exhaustive()
+ .field("allow_anonymous", &self.allow_anonymous)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/oss/core.rs b/core/src/services/oss/core.rs
index c2bf4ebca..78423dd76 100644
--- a/core/src/services/oss/core.rs
+++ b/core/src/services/oss/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use std::time::Duration;
@@ -83,8 +82,8 @@ pub struct OssCore {
}
impl Debug for OssCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("OssCore")
.field("root", &self.root)
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
diff --git a/core/src/services/pcloud/backend.rs b/core/src/services/pcloud/backend.rs
index 81c711441..7a4a9a8ea 100644
--- a/core/src/services/pcloud/backend.rs
+++ b/core/src/services/pcloud/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -25,6 +24,7 @@ use http::StatusCode;
use log::debug;
use super::PCLOUD_SCHEME;
+use super::config::PcloudConfig;
use super::core::*;
use super::delete::PcloudDeleter;
use super::error::PcloudError;
@@ -33,7 +33,6 @@ use super::lister::PcloudLister;
use super::writer::PcloudWriter;
use super::writer::PcloudWriters;
use crate::raw::*;
-use crate::services::PcloudConfig;
use crate::*;
/// [pCloud](https://www.pcloud.com/) services support.
@@ -47,11 +46,10 @@ pub struct PcloudBuilder {
}
impl Debug for PcloudBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("PcloudBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("PcloudBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/pcloud/config.rs b/core/src/services/pcloud/config.rs
index 0305fa4fe..a5c6d766c 100644
--- a/core/src/services/pcloud/config.rs
+++ b/core/src/services/pcloud/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::PcloudBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::PcloudBuilder;
+
/// Config for Pcloud services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -31,7 +31,7 @@ pub struct PcloudConfig {
///
/// All operations will happen under this root.
pub root: Option<String>,
- ///pCloud endpoint address.
+ /// pCloud endpoint address.
pub endpoint: String,
/// pCloud username.
pub username: Option<String>,
@@ -40,14 +40,12 @@ pub struct PcloudConfig {
}
impl Debug for PcloudConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Config");
-
- ds.field("root", &self.root);
- ds.field("endpoint", &self.endpoint);
- ds.field("username", &self.username);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("PcloudConfig")
+ .field("root", &self.root)
+ .field("endpoint", &self.endpoint)
+ .field("username", &self.username)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/pcloud/core.rs b/core/src/services/pcloud/core.rs
index b6cf55438..b11149e93 100644
--- a/core/src/services/pcloud/core.rs
+++ b/core/src/services/pcloud/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -46,8 +45,8 @@ pub struct PcloudCore {
}
impl Debug for PcloudCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("PcloudCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
.field("username", &self.username)
diff --git a/core/src/services/pcloud/error.rs b/core/src/services/pcloud/error.rs
index 1234df1e2..644dc4eb1 100644
--- a/core/src/services/pcloud/error.rs
+++ b/core/src/services/pcloud/error.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use http::Response;
use serde::Deserialize;
@@ -32,7 +31,7 @@ pub(super) struct PcloudError {
}
impl Debug for PcloudError {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("PcloudError")
.field("result", &self.result)
.field("error", &self.error)
diff --git a/core/src/services/persy/backend.rs b/core/src/services/persy/backend.rs
index 0667ac9ea..3f4d764d6 100644
--- a/core/src/services/persy/backend.rs
+++ b/core/src/services/persy/backend.rs
@@ -27,7 +27,7 @@ use crate::*;
/// persy service support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Debug)]
+#[derive(Debug, Default)]
pub struct PersyBuilder {
pub(super) config: PersyConfig,
}
diff --git a/core/src/services/persy/core.rs b/core/src/services/persy/core.rs
index 32c5135b1..6af050ead 100644
--- a/core/src/services/persy/core.rs
+++ b/core/src/services/persy/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use crate::*;
@@ -29,12 +28,12 @@ pub struct PersyCore {
}
impl Debug for PersyCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Adapter");
- ds.field("path", &self.datafile);
- ds.field("segment", &self.segment);
- ds.field("index", &self.index);
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("PersyCore")
+ .field("path", &self.datafile)
+ .field("segment", &self.segment)
+ .field("index", &self.index)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/postgresql/backend.rs b/core/src/services/postgresql/backend.rs
index 0e53f5579..70d1f5db5 100644
--- a/core/src/services/postgresql/backend.rs
+++ b/core/src/services/postgresql/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use sqlx::postgres::PgConnectOptions;
@@ -31,20 +29,11 @@ use crate::*;
/// [PostgreSQL](https://www.postgresql.org/) services support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct PostgresqlBuilder {
pub(super) config: PostgresqlConfig,
}
-impl Debug for PostgresqlBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("PostgresqlBuilder");
-
- d.field("config", &self.config);
- d.finish()
- }
-}
-
impl PostgresqlBuilder {
/// Set the connection url string of the postgresql service.
///
diff --git a/core/src/services/postgresql/config.rs b/core/src/services/postgresql/config.rs
index 8d167ea34..bfa86e1c0 100644
--- a/core/src/services/postgresql/config.rs
+++ b/core/src/services/postgresql/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -52,18 +51,13 @@ pub struct PostgresqlConfig {
}
impl Debug for PostgresqlConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("PostgresqlConfig");
-
- if self.connection_string.is_some() {
- d.field("connection_string", &"<redacted>");
- }
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("PostgresqlConfig")
+ .field("root", &self.root)
.field("table", &self.table)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/redb/backend.rs b/core/src/services/redb/backend.rs
index 87893fe11..e3b64e1c0 100644
--- a/core/src/services/redb/backend.rs
+++ b/core/src/services/redb/backend.rs
@@ -15,6 +15,7 @@
// specific language governing permissions and limitations
// under the License.
+use std::fmt::Debug;
use std::sync::Arc;
use super::config::RedbConfig;
@@ -26,13 +27,21 @@ use crate::*;
/// Redb service support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Debug)]
+#[derive(Default)]
pub struct RedbBuilder {
pub(super) config: RedbConfig,
pub(super) database: Option<Arc<redb::Database>>,
}
+impl Debug for RedbBuilder {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("RedbBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
+ }
+}
+
impl RedbBuilder {
/// Set the database for Redb.
///
diff --git a/core/src/services/redb/core.rs b/core/src/services/redb/core.rs
index 05b3c7764..73c161f37 100644
--- a/core/src/services/redb/core.rs
+++ b/core/src/services/redb/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use crate::*;
@@ -29,11 +28,11 @@ pub struct RedbCore {
}
impl Debug for RedbCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("RedbCore");
- ds.field("path", &self.datadir)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("RedbCore")
+ .field("path", &self.datadir)
.field("table", &self.table)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/redis/backend.rs b/core/src/services/redis/backend.rs
index f85e08f5f..102e1a4ef 100644
--- a/core/src/services/redis/backend.rs
+++ b/core/src/services/redis/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::path::PathBuf;
use std::time::Duration;
@@ -30,32 +28,23 @@ use redis::cluster::ClusterClientBuilder;
use tokio::sync::OnceCell;
use super::REDIS_SCHEME;
+use super::config::RedisConfig;
use super::core::*;
use super::delete::RedisDeleter;
use super::writer::RedisWriter;
-use crate::raw::oio;
use crate::raw::*;
-use crate::services::RedisConfig;
use crate::*;
+
const DEFAULT_REDIS_ENDPOINT: &str = "tcp://127.0.0.1:6379";
const DEFAULT_REDIS_PORT: u16 = 6379;
/// [Redis](https://redis.io/) services support.
#[doc = include_str!("docs.md")]
-#[derive(Clone, Default)]
+#[derive(Debug, Default)]
pub struct RedisBuilder {
pub(super) config: RedisConfig,
}
-impl Debug for RedisBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("RedisBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
- }
-}
-
impl RedisBuilder {
/// set the network address of redis service.
///
diff --git a/core/src/services/redis/config.rs b/core/src/services/redis/config.rs
index bb95313c5..aecae9fc8 100644
--- a/core/src/services/redis/config.rs
+++ b/core/src/services/redis/config.rs
@@ -16,13 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::time::Duration;
-use super::backend::RedisBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::RedisBuilder;
+
/// Config for Redis services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -57,25 +57,15 @@ pub struct RedisConfig {
}
impl Debug for RedisConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("RedisConfig");
-
- d.field("db", &self.db.to_string());
- d.field("root", &self.root);
- if let Some(endpoint) = self.endpoint.clone() {
- d.field("endpoint", &endpoint);
- }
- if let Some(cluster_endpoints) = self.cluster_endpoints.clone() {
- d.field("cluster_endpoints", &cluster_endpoints);
- }
- if let Some(username) = self.username.clone() {
- d.field("username", &username);
- }
- if self.password.is_some() {
- d.field("password", &"<redacted>");
- }
-
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("RedisConfig")
+ .field("endpoint", &self.endpoint)
+ .field("cluster_endpoints", &self.cluster_endpoints)
+ .field("username", &self.username)
+ .field("root", &self.root)
+ .field("db", &self.db)
+ .field("default_ttl", &self.default_ttl)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/redis/core.rs b/core/src/services/redis/core.rs
index 659a85e6e..a77ff81c7 100644
--- a/core/src/services/redis/core.rs
+++ b/core/src/services/redis/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::time::Duration;
use bb8::RunError;
@@ -123,10 +122,10 @@ pub struct RedisCore {
}
impl Debug for RedisCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("RedisCore");
- ds.field("addr", &self.addr);
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("RedisCore")
+ .field("addr", &self.addr)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/rocksdb/backend.rs b/core/src/services/rocksdb/backend.rs
index 454bc1ae0..92287c2a0 100644
--- a/core/src/services/rocksdb/backend.rs
+++ b/core/src/services/rocksdb/backend.rs
@@ -29,7 +29,7 @@ use crate::*;
/// RocksDB service support.
#[doc = include_str!("docs.md")]
-#[derive(Clone, Default)]
+#[derive(Debug, Default)]
pub struct RocksdbBuilder {
pub(super) config: RocksdbConfig,
}
diff --git a/core/src/services/rocksdb/config.rs b/core/src/services/rocksdb/config.rs
index 0f1b05ffe..659748fad 100644
--- a/core/src/services/rocksdb/config.rs
+++ b/core/src/services/rocksdb/config.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-
use serde::Deserialize;
use serde::Serialize;
diff --git a/core/src/services/rocksdb/core.rs b/core/src/services/rocksdb/core.rs
index 33e4cf875..4962b11ce 100644
--- a/core/src/services/rocksdb/core.rs
+++ b/core/src/services/rocksdb/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use rocksdb::DB;
@@ -29,10 +28,10 @@ pub struct RocksdbCore {
}
impl Debug for RocksdbCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("RocksdbCore");
- ds.field("path", &self.db.path());
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("RocksdbCore")
+ .field("path", &self.db.path())
+ .finish()
}
}
diff --git a/core/src/services/s3/backend.rs b/core/src/services/s3/backend.rs
index 3bcbf27cb..0890f9573 100644
--- a/core/src/services/s3/backend.rs
+++ b/core/src/services/s3/backend.rs
@@ -17,7 +17,6 @@
use std::collections::HashMap;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::fmt::Write;
use std::str::FromStr;
use std::sync::Arc;
@@ -42,6 +41,7 @@ use reqsign::AwsV4Signer;
use reqwest::Url;
use super::S3_SCHEME;
+use super::config::S3Config;
use super::core::*;
use super::delete::S3Deleter;
use super::error::parse_error;
@@ -51,9 +51,7 @@ use super::lister::S3Listers;
use super::lister::S3ObjectVersionsLister;
use super::writer::S3Writer;
use super::writer::S3Writers;
-use crate::raw::oio::PageLister;
use crate::raw::*;
-use crate::services::S3Config;
use crate::*;
/// Allow constructing correct region endpoint if user gives a global endpoint.
@@ -84,11 +82,10 @@ pub struct S3Builder {
}
impl Debug for S3Builder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("S3Builder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("S3Builder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
@@ -1080,19 +1077,19 @@ impl Access for S3Backend {
async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let l = if args.versions() || args.deleted() {
- ThreeWays::Three(PageLister::new(S3ObjectVersionsLister::new(
+ ThreeWays::Three(oio::PageLister::new(S3ObjectVersionsLister::new(
self.core.clone(),
path,
args,
)))
} else if self.core.disable_list_objects_v2 {
- ThreeWays::One(PageLister::new(S3ListerV1::new(
+ ThreeWays::One(oio::PageLister::new(S3ListerV1::new(
self.core.clone(),
path,
args,
)))
} else {
- ThreeWays::Two(PageLister::new(S3ListerV2::new(
+ ThreeWays::Two(oio::PageLister::new(S3ListerV2::new(
self.core.clone(),
path,
args,
diff --git a/core/src/services/s3/config.rs b/core/src/services/s3/config.rs
index 9fd0bf100..ee299ade9 100644
--- a/core/src/services/s3/config.rs
+++ b/core/src/services/s3/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::S3Builder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::S3Builder;
+
/// Config for Aws S3 and compatible services (including minio, digitalocean space, Tencent Cloud Object Storage(COS) and so on) support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -219,15 +219,13 @@ pub struct S3Config {
}
impl Debug for S3Config {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("S3Config");
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("S3Config")
+ .field("root", &self.root)
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
- .field("region", &self.region);
-
- d.finish_non_exhaustive()
+ .field("region", &self.region)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/s3/core.rs b/core/src/services/s3/core.rs
index 9e63d5776..4d3f14bd2 100644
--- a/core/src/services/s3/core.rs
+++ b/core/src/services/s3/core.rs
@@ -15,10 +15,8 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt;
use std::fmt::Debug;
use std::fmt::Display;
-use std::fmt::Formatter;
use std::fmt::Write;
use std::sync::Arc;
use std::sync::atomic;
@@ -111,7 +109,7 @@ pub struct S3Core {
}
impl Debug for S3Core {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("S3Core")
.field("bucket", &self.bucket)
.field("endpoint", &self.endpoint)
@@ -1270,7 +1268,7 @@ impl ChecksumAlgorithm {
}
}
impl Display for ChecksumAlgorithm {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"{}",
diff --git a/core/src/services/seafile/backend.rs b/core/src/services/seafile/backend.rs
index a476a6c7b..ffd474432 100644
--- a/core/src/services/seafile/backend.rs
+++ b/core/src/services/seafile/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -25,6 +24,7 @@ use log::debug;
use tokio::sync::RwLock;
use super::SEAFILE_SCHEME;
+use super::config::SeafileConfig;
use super::core::SeafileCore;
use super::core::SeafileSigner;
use super::core::parse_dir_detail;
@@ -35,7 +35,6 @@ use super::lister::SeafileLister;
use super::writer::SeafileWriter;
use super::writer::SeafileWriters;
use crate::raw::*;
-use crate::services::SeafileConfig;
use crate::*;
/// [seafile](https://www.seafile.com) services support.
@@ -49,11 +48,10 @@ pub struct SeafileBuilder {
}
impl Debug for SeafileBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("SeafileBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SeafileBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/seafile/config.rs b/core/src/services/seafile/config.rs
index 8ca563343..a7f08250a 100644
--- a/core/src/services/seafile/config.rs
+++ b/core/src/services/seafile/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::SeafileBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::SeafileBuilder;
+
/// Config for seafile services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -44,15 +44,13 @@ pub struct SeafileConfig {
}
impl Debug for SeafileConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("SeafileConfig");
-
- d.field("root", &self.root)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SeafileConfig")
+ .field("root", &self.root)
.field("endpoint", &self.endpoint)
.field("username", &self.username)
- .field("repo_name", &self.repo_name);
-
- d.finish_non_exhaustive()
+ .field("repo_name", &self.repo_name)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/seafile/core.rs b/core/src/services/seafile/core.rs
index 286cdc9a5..3a3c60e62 100644
--- a/core/src/services/seafile/core.rs
+++ b/core/src/services/seafile/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -52,8 +51,8 @@ pub struct SeafileCore {
}
impl Debug for SeafileCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SeafileCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
.field("username", &self.username)
diff --git a/core/src/services/sftp/backend.rs b/core/src/services/sftp/backend.rs
index bffb5dc5a..46d60910e 100644
--- a/core/src/services/sftp/backend.rs
+++ b/core/src/services/sftp/backend.rs
@@ -15,8 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
-use std::fmt::Formatter;
use std::io::SeekFrom;
use std::path::Path;
use std::path::PathBuf;
@@ -28,6 +26,7 @@ use tokio::io::AsyncSeekExt;
use tokio::sync::OnceCell;
use super::SFTP_SCHEME;
+use super::config::SftpConfig;
use super::core::SftpCore;
use super::delete::SftpDeleter;
use super::error::is_not_found;
@@ -37,7 +36,6 @@ use super::lister::SftpLister;
use super::reader::SftpReader;
use super::writer::SftpWriter;
use crate::raw::*;
-use crate::services::SftpConfig;
use crate::*;
/// SFTP services support. (only works on unix)
@@ -50,19 +48,11 @@ use crate::*;
/// For example, the default value is 255 in macOS, and 1024 in linux. If you want to open
/// lots of files, you should pay attention to close the file after using it.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct SftpBuilder {
pub(super) config: SftpConfig,
}
-impl Debug for SftpBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("SftpBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl SftpBuilder {
/// set endpoint for sftp backend.
/// The format is same as `openssh`, using either `[user@]hostname` or `ssh://[user@]hostname[:port]`. A username or port that is specified in the endpoint overrides the one set in the builder (but does not change the builder).
@@ -215,19 +205,11 @@ impl Builder for SftpBuilder {
}
/// Backend is used to serve `Accessor` support for sftp.
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct SftpBackend {
pub core: Arc<SftpCore>,
}
-impl Debug for SftpBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("SftpBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for SftpBackend {
type Reader = SftpReader;
type Writer = SftpWriter;
diff --git a/core/src/services/sftp/config.rs b/core/src/services/sftp/config.rs
index 9523bf87b..af795ab7e 100644
--- a/core/src/services/sftp/config.rs
+++ b/core/src/services/sftp/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::SftpBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::SftpBuilder;
+
/// Config for Sftp Service support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -42,7 +42,7 @@ pub struct SftpConfig {
}
impl Debug for SftpConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("SftpConfig")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
diff --git a/core/src/services/sftp/core.rs b/core/src/services/sftp/core.rs
index 4a0613e0f..ade9f200c 100644
--- a/core/src/services/sftp/core.rs
+++ b/core/src/services/sftp/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::path::Path;
use std::path::PathBuf;
use std::sync::Arc;
@@ -48,11 +47,11 @@ pub struct SftpCore {
}
impl Debug for SftpCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("SftpCore")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/sled/backend.rs b/core/src/services/sled/backend.rs
index 7dda922f3..a17bc9102 100644
--- a/core/src/services/sled/backend.rs
+++ b/core/src/services/sled/backend.rs
@@ -30,7 +30,7 @@ const DEFAULT_TREE_ID: &str = r#"__sled__default"#;
/// Sled services support.
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct SledBuilder {
pub(super) config: SledConfig,
}
diff --git a/core/src/services/sled/config.rs b/core/src/services/sled/config.rs
index d99ff8359..aca7d966a 100644
--- a/core/src/services/sled/config.rs
+++ b/core/src/services/sled/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -37,12 +36,11 @@ pub struct SledConfig {
}
impl Debug for SledConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("SledConfig")
- .field("datadir", &self.datadir)
.field("tree", &self.tree)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/sled/core.rs b/core/src/services/sled/core.rs
index 3cbb3203a..d7732953b 100644
--- a/core/src/services/sled/core.rs
+++ b/core/src/services/sled/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use crate::*;
@@ -27,10 +26,10 @@ pub struct SledCore {
}
impl Debug for SledCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("SledCore");
- ds.field("path", &self.datadir);
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SledCore")
+ .field("path", &self.datadir)
+ .finish()
}
}
diff --git a/core/src/services/sqlite/backend.rs b/core/src/services/sqlite/backend.rs
index 84552c397..51eb44f36 100644
--- a/core/src/services/sqlite/backend.rs
+++ b/core/src/services/sqlite/backend.rs
@@ -15,34 +15,26 @@
// specific language governing permissions and limitations
// under the License.
-use crate::raw::oio;
-use crate::raw::*;
-use crate::services::SqliteConfig;
-use crate::services::sqlite::core::SqliteCore;
-use crate::services::sqlite::delete::SqliteDeleter;
-use crate::services::sqlite::writer::SqliteWriter;
-use crate::*;
-use sqlx::sqlite::SqliteConnectOptions;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::str::FromStr;
+
+use sqlx::sqlite::SqliteConnectOptions;
use tokio::sync::OnceCell;
+use super::config::SqliteConfig;
+use super::core::SqliteCore;
+use super::delete::SqliteDeleter;
+use super::writer::SqliteWriter;
+use crate::raw::oio;
+use crate::raw::*;
+use crate::*;
+
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct SqliteBuilder {
pub(super) config: SqliteConfig,
}
-impl Debug for SqliteBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("SqliteBuilder");
-
- ds.field("config", &self.config);
- ds.finish()
- }
-}
-
impl SqliteBuilder {
/// Set the connection_string of the sqlite service.
///
diff --git a/core/src/services/sqlite/config.rs b/core/src/services/sqlite/config.rs
index ae4c01174..0bca09263 100644
--- a/core/src/services/sqlite/config.rs
+++ b/core/src/services/sqlite/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::SqliteBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::SqliteBuilder;
+
/// Config for Sqlite support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -57,21 +57,19 @@ pub struct SqliteConfig {
}
impl Debug for SqliteConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("SqliteConfig");
-
- d.field("connection_string", &self.connection_string)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SqliteConfig")
.field("table", &self.table)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .field("root", &self.root);
-
- d.finish_non_exhaustive()
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
impl crate::Configurator for SqliteConfig {
type Builder = SqliteBuilder;
+
fn from_uri(uri: &crate::types::OperatorUri) -> crate::Result<Self> {
let mut map = uri.options().clone();
diff --git a/core/src/services/surrealdb/backend.rs b/core/src/services/surrealdb/backend.rs
index d06cc0f21..d9802830f 100644
--- a/core/src/services/surrealdb/backend.rs
+++ b/core/src/services/surrealdb/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use tokio::sync::OnceCell;
@@ -29,19 +28,11 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Default)]
+#[derive(Debug, Default)]
pub struct SurrealdbBuilder {
pub(super) config: SurrealdbConfig,
}
-impl Debug for SurrealdbBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("SurrealdbBuilder")
- .field("config", &self.config)
- .finish()
- }
-}
-
impl SurrealdbBuilder {
/// Set the connection_string of the surrealdb service.
///
diff --git a/core/src/services/surrealdb/config.rs b/core/src/services/surrealdb/config.rs
index a09711653..a261fa7d1 100644
--- a/core/src/services/surrealdb/config.rs
+++ b/core/src/services/surrealdb/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -49,19 +48,16 @@ pub struct SurrealdbConfig {
}
impl Debug for SurrealdbConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("SurrealdbConfig");
-
- d.field("connection_string", &self.connection_string)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SurrealdbConfig")
.field("username", &self.username)
- .field("password", &"<redacted>")
.field("namespace", &self.namespace)
.field("database", &self.database)
.field("table", &self.table)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
.field("root", &self.root)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/surrealdb/core.rs b/core/src/services/surrealdb/core.rs
index 9172ed951..5e7755b23 100644
--- a/core/src/services/surrealdb/core.rs
+++ b/core/src/services/surrealdb/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use surrealdb::Surreal;
@@ -42,17 +41,16 @@ pub struct SurrealdbCore {
}
impl Debug for SurrealdbCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("SurrealdbCore")
.field("connection_string", &self.connection_string)
.field("username", &self.username)
- .field("password", &"<redacted>")
.field("namespace", &self.namespace)
.field("database", &self.database)
.field("table", &self.table)
.field("key_field", &self.key_field)
.field("value_field", &self.value_field)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/swift/backend.rs b/core/src/services/swift/backend.rs
index 0a8b3069d..0cc6a6718 100644
--- a/core/src/services/swift/backend.rs
+++ b/core/src/services/swift/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -37,19 +36,11 @@ use crate::*;
/// For more information about swift-compatible services, refer to [Compatible Services](#compatible-services).
#[doc = include_str!("docs.md")]
#[doc = include_str!("compatible_services.md")]
-#[derive(Default, Clone)]
+#[derive(Debug, Default)]
pub struct SwiftBuilder {
pub(super) config: SwiftConfig,
}
-impl Debug for SwiftBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("SwiftBuilder");
- d.field("config", &self.config);
- d.finish_non_exhaustive()
- }
-}
-
impl SwiftBuilder {
/// Set the remote address of this backend
///
diff --git a/core/src/services/swift/config.rs b/core/src/services/swift/config.rs
index 6af688969..173600b81 100644
--- a/core/src/services/swift/config.rs
+++ b/core/src/services/swift/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::SwiftBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::SwiftBuilder;
+
/// Config for OpenStack Swift support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -38,18 +38,12 @@ pub struct SwiftConfig {
}
impl Debug for SwiftConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("SwiftConfig");
-
- ds.field("root", &self.root);
- ds.field("endpoint", &self.endpoint);
- ds.field("container", &self.container);
-
- if self.token.is_some() {
- ds.field("token", &"<redacted>");
- }
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("SwiftConfig")
+ .field("endpoint", &self.endpoint)
+ .field("container", &self.container)
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/tikv/backend.rs b/core/src/services/tikv/backend.rs
index 1d5060b66..648703154 100644
--- a/core/src/services/tikv/backend.rs
+++ b/core/src/services/tikv/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use tokio::sync::OnceCell;
@@ -30,20 +29,11 @@ use crate::*;
/// TiKV backend builder
#[doc = include_str!("docs.md")]
-#[derive(Clone, Default)]
+#[derive(Debug, Default)]
pub struct TikvBuilder {
pub(super) config: TikvConfig,
}
-impl Debug for TikvBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("TikvBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
- }
-}
-
impl TikvBuilder {
/// Set the network address of the TiKV service.
pub fn endpoints(mut self, endpoints: Vec<String>) -> Self {
diff --git a/core/src/services/tikv/config.rs b/core/src/services/tikv/config.rs
index c0ee1a1f0..622e3faac 100644
--- a/core/src/services/tikv/config.rs
+++ b/core/src/services/tikv/config.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use serde::Deserialize;
use serde::Serialize;
@@ -41,15 +40,14 @@ pub struct TikvConfig {
}
impl Debug for TikvConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("TikvConfig");
-
- d.field("endpoints", &self.endpoints)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("TikvConfig")
+ .field("endpoints", &self.endpoints)
.field("insecure", &self.insecure)
.field("ca_path", &self.ca_path)
.field("cert_path", &self.cert_path)
.field("key_path", &self.key_path)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/tikv/core.rs b/core/src/services/tikv/core.rs
index 80a62a240..6dbe01407 100644
--- a/core/src/services/tikv/core.rs
+++ b/core/src/services/tikv/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use tikv_client::Config;
use tikv_client::RawClient;
@@ -36,7 +35,7 @@ pub struct TikvCore {
}
impl Debug for TikvCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("TikvCore")
.field("endpoints", &self.endpoints)
.field("insecure", &self.insecure)
diff --git a/core/src/services/upyun/backend.rs b/core/src/services/upyun/backend.rs
index c3cd42f94..5da6355d1 100644
--- a/core/src/services/upyun/backend.rs
+++ b/core/src/services/upyun/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use http::Response;
@@ -24,6 +23,7 @@ use http::StatusCode;
use log::debug;
use super::UPYUN_SCHEME;
+use super::config::UpyunConfig;
use super::core::*;
use super::delete::UpyunDeleter;
use super::error::parse_error;
@@ -31,7 +31,6 @@ use super::lister::UpyunLister;
use super::writer::UpyunWriter;
use super::writer::UpyunWriters;
use crate::raw::*;
-use crate::services::UpyunConfig;
use crate::*;
/// [upyun](https://www.upyun.com/products/file-storage) services support.
@@ -45,11 +44,10 @@ pub struct UpyunBuilder {
}
impl Debug for UpyunBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("UpyunBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("UpyunBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/upyun/config.rs b/core/src/services/upyun/config.rs
index a1fd55845..34c34efdc 100644
--- a/core/src/services/upyun/config.rs
+++ b/core/src/services/upyun/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::UpyunBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::UpyunBuilder;
+
/// Config for upyun services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -40,14 +40,12 @@ pub struct UpyunConfig {
}
impl Debug for UpyunConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Config");
-
- ds.field("root", &self.root);
- ds.field("bucket", &self.bucket);
- ds.field("operator", &self.operator);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("UpyunConfig")
+ .field("root", &self.root)
+ .field("bucket", &self.bucket)
+ .field("operator", &self.operator)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/upyun/core.rs b/core/src/services/upyun/core.rs
index 801e3f881..a1630bb04 100644
--- a/core/src/services/upyun/core.rs
+++ b/core/src/services/upyun/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use base64::Engine;
@@ -69,8 +68,8 @@ pub struct UpyunCore {
}
impl Debug for UpyunCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("UpyunCore")
.field("root", &self.root)
.field("bucket", &self.bucket)
.field("operator", &self.operator)
diff --git a/core/src/services/vercel_artifacts/backend.rs b/core/src/services/vercel_artifacts/backend.rs
index c4da64618..1e382650c 100644
--- a/core/src/services/vercel_artifacts/backend.rs
+++ b/core/src/services/vercel_artifacts/backend.rs
@@ -15,7 +15,6 @@
// specific language governing permissions and limitations
// under the License.
-use std::fmt::Debug;
use std::sync::Arc;
use http::Response;
@@ -28,19 +27,11 @@ use crate::raw::*;
use crate::*;
#[doc = include_str!("docs.md")]
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct VercelArtifactsBackend {
pub core: Arc<VercelArtifactsCore>,
}
-impl Debug for VercelArtifactsBackend {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("VercelArtifactsBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for VercelArtifactsBackend {
type Reader = HttpBody;
type Writer = oio::OneShotWriter<VercelArtifactsWriter>;
diff --git a/core/src/services/vercel_artifacts/builder.rs b/core/src/services/vercel_artifacts/builder.rs
index cfe1a1386..85bda0647 100644
--- a/core/src/services/vercel_artifacts/builder.rs
+++ b/core/src/services/vercel_artifacts/builder.rs
@@ -16,16 +16,13 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use super::VERCEL_ARTIFACTS_SCHEME;
use super::backend::VercelArtifactsBackend;
+use super::config::VercelArtifactsConfig;
use super::core::VercelArtifactsCore;
-use crate::raw::Access;
-use crate::raw::AccessorInfo;
-use crate::raw::HttpClient;
-use crate::services::VercelArtifactsConfig;
+use crate::raw::*;
use crate::*;
/// [Vercel Cache](https://vercel.com/docs/concepts/monorepos/remote-caching) backend support.
@@ -39,10 +36,10 @@ pub struct VercelArtifactsBuilder {
}
impl Debug for VercelArtifactsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("VercelArtifactsBuilder");
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("VercelArtifactsBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/vercel_artifacts/config.rs b/core/src/services/vercel_artifacts/config.rs
index 9526c5b8e..864d9e7c1 100644
--- a/core/src/services/vercel_artifacts/config.rs
+++ b/core/src/services/vercel_artifacts/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::builder::VercelArtifactsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::builder::VercelArtifactsBuilder;
+
/// Config for Vercel Cache support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -32,10 +32,9 @@ pub struct VercelArtifactsConfig {
}
impl Debug for VercelArtifactsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("VercelArtifactsConfig")
- .field("access_token", &"<redacted>")
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/vercel_artifacts/core.rs b/core/src/services/vercel_artifacts/core.rs
index f9682cd28..7f5d76aac 100644
--- a/core/src/services/vercel_artifacts/core.rs
+++ b/core/src/services/vercel_artifacts/core.rs
@@ -32,9 +32,8 @@ pub struct VercelArtifactsCore {
impl Debug for VercelArtifactsCore {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let mut de = f.debug_struct("VercelArtifactsCore");
- de.field("access_token", &self.access_token);
- de.finish()
+ f.debug_struct("VercelArtifactsCore")
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/vercel_blob/backend.rs b/core/src/services/vercel_blob/backend.rs
index a9b403e6f..558b89211 100644
--- a/core/src/services/vercel_blob/backend.rs
+++ b/core/src/services/vercel_blob/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -48,11 +47,10 @@ pub struct VercelBlobBuilder {
}
impl Debug for VercelBlobBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("VercelBlobBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("VercelBlobBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/vercel_blob/config.rs b/core/src/services/vercel_blob/config.rs
index 91f813cb8..bdd45390f 100644
--- a/core/src/services/vercel_blob/config.rs
+++ b/core/src/services/vercel_blob/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::VercelBlobBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::VercelBlobBuilder;
+
/// Config for VercelBlob services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -36,12 +36,10 @@ pub struct VercelBlobConfig {
}
impl Debug for VercelBlobConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Config");
-
- ds.field("root", &self.root);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("VercelBlobConfig")
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/vercel_blob/core.rs b/core/src/services/vercel_blob/core.rs
index 597969657..87bcb8fd9 100644
--- a/core/src/services/vercel_blob/core.rs
+++ b/core/src/services/vercel_blob/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -65,8 +64,8 @@ pub struct VercelBlobCore {
}
impl Debug for VercelBlobCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("VercelBlobCore")
.field("root", &self.root)
.finish_non_exhaustive()
}
diff --git a/core/src/services/webdav/backend.rs b/core/src/services/webdav/backend.rs
index e8f0ccb11..e28ac8671 100644
--- a/core/src/services/webdav/backend.rs
+++ b/core/src/services/webdav/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::str::FromStr;
use std::sync::Arc;
@@ -25,13 +24,13 @@ use http::StatusCode;
use log::debug;
use super::WEBDAV_SCHEME;
+use super::config::WebdavConfig;
use super::core::*;
use super::delete::WebdavDeleter;
use super::error::parse_error;
use super::lister::WebdavLister;
use super::writer::WebdavWriter;
use crate::raw::*;
-use crate::services::WebdavConfig;
use crate::*;
/// [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) backend support.
@@ -45,12 +44,10 @@ pub struct WebdavBuilder {
}
impl Debug for WebdavBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("WebdavBuilder");
-
- d.field("config", &self.config);
-
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("WebdavBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
@@ -208,19 +205,11 @@ impl Builder for WebdavBuilder {
}
/// Backend is used to serve `Accessor` support for http.
-#[derive(Clone)]
+#[derive(Clone, Debug)]
pub struct WebdavBackend {
core: Arc<WebdavCore>,
}
-impl Debug for WebdavBackend {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("WebdavBackend")
- .field("core", &self.core)
- .finish()
- }
-}
-
impl Access for WebdavBackend {
type Reader = HttpBody;
type Writer = oio::OneShotWriter<WebdavWriter>;
diff --git a/core/src/services/webdav/config.rs b/core/src/services/webdav/config.rs
index 3db4371e8..4d4c23908 100644
--- a/core/src/services/webdav/config.rs
+++ b/core/src/services/webdav/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::WebdavBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::WebdavBuilder;
+
/// Config for [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) backend support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -42,14 +42,13 @@ pub struct WebdavConfig {
}
impl Debug for WebdavConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("WebdavConfig");
-
- d.field("endpoint", &self.endpoint)
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("WebdavConfig")
+ .field("endpoint", &self.endpoint)
.field("username", &self.username)
- .field("root", &self.root);
-
- d.finish_non_exhaustive()
+ .field("root", &self.root)
+ .field("disable_copy", &self.disable_copy)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/webdav/core.rs b/core/src/services/webdav/core.rs
index 065aaa716..4ea9d990b 100644
--- a/core/src/services/webdav/core.rs
+++ b/core/src/services/webdav/core.rs
@@ -16,9 +16,7 @@
// under the License.
use std::collections::VecDeque;
-use std::fmt;
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Bytes;
@@ -78,7 +76,7 @@ pub struct WebdavCore {
}
impl Debug for WebdavCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("WebdavCore")
.field("endpoint", &self.endpoint)
.field("root", &self.root)
diff --git a/core/src/services/webhdfs/backend.rs b/core/src/services/webhdfs/backend.rs
index 39dee3e89..2c9ca7c8d 100644
--- a/core/src/services/webhdfs/backend.rs
+++ b/core/src/services/webhdfs/backend.rs
@@ -15,8 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-use core::fmt::Debug;
-use std::fmt::Formatter;
+use std::fmt::Debug;
use std::sync::Arc;
use bytes::Buf;
@@ -26,6 +25,7 @@ use log::debug;
use tokio::sync::OnceCell;
use super::WEBHDFS_SCHEME;
+use super::config::WebhdfsConfig;
use super::core::WebhdfsCore;
use super::delete::WebhdfsDeleter;
use super::error::parse_error;
@@ -36,25 +36,17 @@ use super::message::FileStatusWrapper;
use super::writer::WebhdfsWriter;
use super::writer::WebhdfsWriters;
use crate::raw::*;
-use crate::services::WebhdfsConfig;
use crate::*;
+
const WEBHDFS_DEFAULT_ENDPOINT: &str = "http://127.0.0.1:9870";
/// [WebHDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html)'s REST API support.
#[doc = include_str!("docs.md")]
-#[derive(Default, Clone)]
+#[derive(Debug, Default)]
pub struct WebhdfsBuilder {
pub(super) config: WebhdfsConfig,
}
-impl Debug for WebhdfsBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("WebhdfsBuilder");
- d.field("config", &self.config);
- d.finish_non_exhaustive()
- }
-}
-
impl WebhdfsBuilder {
/// Set the working directory of this backend
///
diff --git a/core/src/services/webhdfs/config.rs b/core/src/services/webhdfs/config.rs
index 817187bfb..19e222d20 100644
--- a/core/src/services/webhdfs/config.rs
+++ b/core/src/services/webhdfs/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::WebhdfsBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::WebhdfsBuilder;
+
/// Config for WebHDFS support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -42,11 +42,12 @@ pub struct WebhdfsConfig {
}
impl Debug for WebhdfsConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("WebhdfsConfig")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
.field("user_name", &self.user_name)
+ .field("disable_list_batch", &self.disable_list_batch)
.field("atomic_write_dir", &self.atomic_write_dir)
.finish_non_exhaustive()
}
diff --git a/core/src/services/webhdfs/core.rs b/core/src/services/webhdfs/core.rs
index fb6a3f9e5..a37725bee 100644
--- a/core/src/services/webhdfs/core.rs
+++ b/core/src/services/webhdfs/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -45,11 +44,11 @@ pub struct WebhdfsCore {
}
impl Debug for WebhdfsCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("WebhdfsCore")
.field("root", &self.root)
.field("endpoint", &self.endpoint)
- .finish()
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/yandex_disk/backend.rs b/core/src/services/yandex_disk/backend.rs
index e793b3867..41c684780 100644
--- a/core/src/services/yandex_disk/backend.rs
+++ b/core/src/services/yandex_disk/backend.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -25,6 +24,7 @@ use http::StatusCode;
use log::debug;
use super::YANDEX_DISK_SCHEME;
+use super::config::YandexDiskConfig;
use super::core::*;
use super::delete::YandexDiskDeleter;
use super::error::parse_error;
@@ -32,7 +32,6 @@ use super::lister::YandexDiskLister;
use super::writer::YandexDiskWriter;
use super::writer::YandexDiskWriters;
use crate::raw::*;
-use crate::services::YandexDiskConfig;
use crate::*;
/// [YandexDisk](https://360.yandex.com/disk/) services support.
@@ -46,11 +45,10 @@ pub struct YandexDiskBuilder {
}
impl Debug for YandexDiskBuilder {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut d = f.debug_struct("YandexDiskBuilder");
-
- d.field("config", &self.config);
- d.finish_non_exhaustive()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("YandexDiskBuilder")
+ .field("config", &self.config)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/yandex_disk/config.rs b/core/src/services/yandex_disk/config.rs
index 1a25d9650..b128d6272 100644
--- a/core/src/services/yandex_disk/config.rs
+++ b/core/src/services/yandex_disk/config.rs
@@ -16,12 +16,12 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
-use super::backend::YandexDiskBuilder;
use serde::Deserialize;
use serde::Serialize;
+use super::backend::YandexDiskBuilder;
+
/// Config for YandexDisk services support.
#[derive(Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
#[serde(default)]
@@ -36,12 +36,10 @@ pub struct YandexDiskConfig {
}
impl Debug for YandexDiskConfig {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- let mut ds = f.debug_struct("Config");
-
- ds.field("root", &self.root);
-
- ds.finish()
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("YandexDiskConfig")
+ .field("root", &self.root)
+ .finish_non_exhaustive()
}
}
diff --git a/core/src/services/yandex_disk/core.rs b/core/src/services/yandex_disk/core.rs
index 33283dbde..ccf993a7a 100644
--- a/core/src/services/yandex_disk/core.rs
+++ b/core/src/services/yandex_disk/core.rs
@@ -16,7 +16,6 @@
// under the License.
use std::fmt::Debug;
-use std::fmt::Formatter;
use std::sync::Arc;
use bytes::Buf;
@@ -41,8 +40,8 @@ pub struct YandexDiskCore {
}
impl Debug for YandexDiskCore {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- f.debug_struct("Backend")
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("YandexDiskCore")
.field("root", &self.root)
.finish_non_exhaustive()
}