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:35 UTC
(opendal) 01/01: refactor(services): impl Debug for all service builders
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()
}