plausible_rs/api/
health.rs1use crate::{Error, Plausible};
2use reqwest::{RequestBuilder, StatusCode};
3use serde::{Deserialize, Serialize};
4
5impl Plausible {
6 pub async fn health(&self) -> Result<HealthResponse, Error> {
14 let request: RequestBuilder = self.client.get(format!("{}/api/health", self.base_url));
16
17 let response = request.send().await?;
19
20 let status_code: StatusCode = response.status();
22 let bytes = response.bytes().await?;
23
24 if !status_code.is_success() {
26 return Err(Error::RequestFailed { bytes, status_code });
27 }
28
29 let response: HealthResponse = serde_json::from_slice(&bytes)?;
31 Ok(response)
32 }
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
39pub struct HealthResponse {
40 pub clickhouse: String,
41 pub postgres: String,
42}