treedx 0.2.23

Generic Rust SDK for TreeDX.
Documentation
use std::collections::BTreeMap;
use std::fmt;
use std::sync::Arc;
use std::time::Duration;

use crate::auth::AuthProvider;

#[derive(Clone, Default)]
pub struct TreeDxConfig {
    pub base_url: String,
    pub token: Option<String>,
    pub auth_provider: Option<Arc<dyn AuthProvider>>,
    pub default_headers: BTreeMap<String, String>,
    pub timeout: Option<Duration>,
}

impl fmt::Debug for TreeDxConfig {
    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
        formatter
            .debug_struct("TreeDxConfig")
            .field("base_url", &self.base_url)
            .field("token", &self.token.as_ref().map(|_| "<redacted>"))
            .field(
                "auth_provider",
                &self.auth_provider.as_ref().map(|_| "<provider>"),
            )
            .field("default_headers", &self.default_headers)
            .field("timeout", &self.timeout)
            .finish()
    }
}