#[derive(Clone, Debug, Default)]
pub struct Client {
base_client: crate::core::base_client::BaseClient,
}
impl Client {
pub fn with_environment(mut self, env: crate::environment::Environment) -> Self {
self.base_client.base_url = crate::environment::BaseUrl::Env(env);
self
}
pub fn with_base_url(mut self, base_url: &str) -> Self {
self.base_client.base_url = crate::environment::BaseUrl::Custom(base_url.into());
self
}
pub fn with_client(mut self, client: reqwest::Client) -> Self {
self.base_client.client = client;
self
}
pub fn with_auth(mut self, val: &str) -> Self {
self.base_client
.auth
.insert("auth".into(), crate::core::auth::AuthProvider::Bearer(val.into()));
self
}
pub fn conversations(
&self,
) -> crate::resources::conversations::resource_client::ConversationsClient {
crate::resources::conversations::resource_client::ConversationsClient::new(
self.base_client.clone(),
)
}
pub fn chat(&self) -> crate::resources::chat::resource_client::ChatClient {
crate::resources::chat::resource_client::ChatClient::new(
self.base_client.clone(),
)
}
}