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