use std::sync::Arc;
use super::configuration::Configuration;
use hyper;
use hyper_util::client::legacy::connect::Connect;
pub struct APIClient<C: Connect>
where
C: Clone + std::marker::Send + Sync + 'static,
{
insight: super::InsightApiClient<C>,
}
impl<C: Connect> APIClient<C>
where
C: Clone + std::marker::Send + Sync + 'static,
{
pub fn new(configuration: Configuration<C>) -> APIClient<C> {
let rc = Arc::new(configuration);
APIClient {
insight: super::InsightApiClient::new(rc.clone()),
}
}
pub fn insight(&self) -> &super::InsightApiClient<C> {
&self.insight
}
}