use client::Client;
use error;
use utils;
#[derive(Clone, Debug, Deserialize, PartialEq)]
pub struct RateLimit {
pub resources: RateLimitResources
}
#[derive(Clone, Debug, Deserialize, PartialEq)]
pub struct RateLimitResources {
pub core: RateLimitElement,
pub search: RateLimitElement
}
#[derive(Clone, Debug, Deserialize, PartialEq)]
pub struct RateLimitElement {
pub limit: u64,
pub remaining: u64,
pub reset: u64
}
pub trait RateLimitExt {
fn get_rate_limit(&mut self) -> Result<RateLimit, error::Error>;
}
impl RateLimitExt for Client {
fn get_rate_limit(&mut self) -> Result<RateLimit, error::Error> {
utils::request_endpoint(self, "/rate_limit".into())
}
}