use reqwest::Client;
use serde_json::from_str;
use crate::errors::{ChorusError, ChorusResult};
use crate::instance::Instance;
use crate::ratelimiter::ChorusRequest;
use crate::types::{GeneralConfiguration, LimitType, PingReturn, VersionReturn};
impl Instance {
pub async fn ping(&mut self) -> ChorusResult<PingReturn> {
let url = format!("{}/ping", self.urls.api.clone());
let chorus_request = ChorusRequest {
request: Client::new().get(url),
limit_type: LimitType::Global,
};
chorus_request
.send_anonymous_and_deserialize_response(self)
.await
}
pub async fn get_version(&mut self) -> ChorusResult<VersionReturn> {
let url = format!("{}/version", self.urls.api.clone());
let chorus_request = ChorusRequest {
request: Client::new().get(url.clone()),
limit_type: LimitType::Global,
};
chorus_request
.send_anonymous_and_deserialize_response(self)
.await
}
}