use percent_encoding::utf8_percent_encode;
use crate::client::Client;
use crate::errors::Result;
use crate::models::BreachListResponse;
use crate::utils::QUERY_ENCODE_SET;
impl Client {
pub async fn get_breaches(&self, domain: Option<&str>) -> Result<BreachListResponse> {
let mut url = format!("{}/v1/breaches", self.config.base_url);
if let Some(d) = domain {
let encoded_domain = utf8_percent_encode(d, QUERY_ENCODE_SET).to_string();
url.push_str(&format!("?domain={}", encoded_domain));
}
let response = self.get_with_retry(&url).await?;
let body: BreachListResponse = response.json().await?;
Ok(body)
}
}