Implement Deref<Target=UrlClient> for EsploraBlockchain
There is currently no way to access the client from the EsploraBlockchain. This makes it difficult for users to extend it's functionality. This PR exposes both the reqwest and ureq clients. This PR is related to PR #705.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::io;
|
||||
use std::io::Read;
|
||||
use std::ops::Deref;
|
||||
use std::time::Duration;
|
||||
|
||||
#[allow(unused_imports)]
|
||||
@@ -33,8 +34,9 @@ use crate::database::BatchDatabase;
|
||||
use crate::error::Error;
|
||||
use crate::FeeRate;
|
||||
|
||||
/// Structure encapsulates ureq Esplora client
|
||||
#[derive(Debug, Clone)]
|
||||
struct UrlClient {
|
||||
pub struct UrlClient {
|
||||
url: String,
|
||||
agent: Agent,
|
||||
}
|
||||
@@ -98,6 +100,14 @@ impl Blockchain for EsploraBlockchain {
|
||||
}
|
||||
}
|
||||
|
||||
impl Deref for EsploraBlockchain {
|
||||
type Target = UrlClient;
|
||||
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.url_client
|
||||
}
|
||||
}
|
||||
|
||||
impl StatelessBlockchain for EsploraBlockchain {}
|
||||
|
||||
impl GetHeight for EsploraBlockchain {
|
||||
|
||||
Reference in New Issue
Block a user