use crate::error::error_client_builder::ErrorClientBuilder;
#[cfg(all(feature = "error-client", feature = "async"))]
use super::non_blocking::ClientBuilderReqwestErrorAsync;
#[cfg(feature = "async")]
use crate::common::traits::decider_trait_async::DeciderTraitAsync;
#[cfg(feature = "async")]
use reqwest::ClientBuilder as ReqwestClientBuilder;
#[cfg(all(feature = "error-client", feature = "sync"))]
use super::blocking::ClientBuilderReqwestErrorSync;
#[cfg(feature = "sync")]
use crate::common::traits::decider_trait_sync::DeciderTraitSync;
#[cfg(feature = "sync")]
use reqwest::blocking::ClientBuilder as ReqwestBlockingClientBuilder;
pub struct ReqwestErrorDecider {
pub(crate) builder: ErrorClientBuilder,
}
#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
#[cfg(feature = "async")]
impl DeciderTraitAsync<ClientBuilderReqwestErrorAsync> for ReqwestErrorDecider {
fn non_blocking(self) -> ClientBuilderReqwestErrorAsync {
ClientBuilderReqwestErrorAsync {
client_builder: ReqwestClientBuilder::default(),
options: self.builder.options.clone(),
api_key: self.builder.api_key.clone(),
payload_version: self
.builder
.payload_version_override
.clone()
.unwrap_or(self.builder.payload_version.clone()),
notifier: self.builder.notifier,
events: self.builder.events,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "sync")))]
#[cfg(feature = "sync")]
impl DeciderTraitSync<ClientBuilderReqwestErrorSync> for ReqwestErrorDecider {
fn blocking(self) -> ClientBuilderReqwestErrorSync {
ClientBuilderReqwestErrorSync {
client_builder: ReqwestBlockingClientBuilder::default(),
options: self.builder.options.clone(),
api_key: self.builder.api_key.clone(),
payload_version: self
.builder
.payload_version_override
.clone()
.unwrap_or(self.builder.payload_version.clone()),
notifier: self.builder.notifier.clone(),
events: self.builder.events.clone(),
}
}
}