use std::{collections::HashMap, time::Duration};
#[derive(Debug, Clone)]
#[non_exhaustive]
pub struct BlockFrostSettings {
pub base_url: Option<String>,
pub retry_settings: RetrySettings,
pub headers: HashMap<String, String>,
}
impl BlockFrostSettings {
pub fn new() -> Self {
Self {
base_url: None,
retry_settings: RetrySettings::default(),
headers: HashMap::new(),
}
}
}
#[derive(Debug, Clone)]
#[non_exhaustive]
pub struct IpfsSettings {
pub retry_settings: RetrySettings,
pub headers: HashMap<String, String>,
}
impl IpfsSettings {
pub fn new() -> Self {
Self {
retry_settings: RetrySettings::default(),
headers: HashMap::new(),
}
}
}
impl Default for BlockFrostSettings {
fn default() -> Self {
Self::new()
}
}
impl Default for IpfsSettings {
fn default() -> Self {
Self::new()
}
}
#[derive(Default, Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct RetrySettings {
pub amount: u64,
pub delay: Duration,
}
impl RetrySettings {
pub fn new(amount: u64, delay: Duration) -> Self {
Self { amount, delay }
}
}