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,
{
shop: super::ShopApiClient<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 {
shop: super::ShopApiClient::new(rc.clone()),
}
}
pub fn shop(&self) -> &super::ShopApiClient<C> {
&self.shop
}
}