use everymap_core::auth::AuthProvider;
use everymap_core::error::EveryMapResult;
use std::sync::Arc;
const PROVIDER_NAME: &str = "mapbox";
pub struct MapBoxClient {
inner: everymap_core::client::ProviderClient,
}
impl MapBoxClient {
pub fn new(auth_provider: Arc<dyn AuthProvider>) -> Self {
Self {
inner: everymap_core::client::ProviderClient::new(auth_provider, PROVIDER_NAME),
}
}
pub fn with_client_builder(
builder: reqwest::ClientBuilder,
auth_provider: Arc<dyn AuthProvider>,
) -> EveryMapResult<Self> {
Ok(Self {
inner: everymap_core::client::ProviderClient::with_client_builder(
builder,
auth_provider,
PROVIDER_NAME,
)?,
})
}
pub fn set_verbose(&mut self, verbose: bool) {
self.inner.set_verbose(verbose);
}
pub fn is_verbose(&self) -> bool {
self.inner.is_verbose()
}
pub fn build_request(&self, method: reqwest::Method, url: &str) -> reqwest::RequestBuilder {
self.inner.build_request(method, url)
}
pub async fn request(
&self,
builder: reqwest::RequestBuilder,
) -> EveryMapResult<reqwest::Response> {
self.inner.request(builder).await
}
pub async fn request_json<T: serde::de::DeserializeOwned>(
&self,
builder: reqwest::RequestBuilder,
) -> EveryMapResult<T> {
self.inner.request_json(builder).await
}
}