Struct plausible_rs::Plausible
source · pub struct Plausible { /* private fields */ }
Expand description
Plausible Analytics client.
Implementations§
source§impl Plausible
impl Plausible
sourcepub async fn event(
&self,
headers: EventHeaders,
payload: EventPayload
) -> Result<Bytes, Error>
pub async fn event( &self, headers: EventHeaders, payload: EventPayload ) -> Result<Bytes, Error>
Records a pageview or custom event.
When using this endpoint, it’s crucial to send the HTTP headers correctly, since these are used for unique user counting.
§Errors
Will return Err
if an error occurred while creating/sending the request,
if it failed to decode the response’s bytes, or if the response’s status code was not a
success.
Examples found in repository?
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
async fn main() {
let domain: String = env::var("PLAUSIBLE_DOMAIN")
.expect("set env var `PLAUSIBLE_DOMAIN` to name of site in Plausible");
Plausible::new().event(
EventHeaders::new(
String::from("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"),
String::from("127.0.0.1")
),
EventPayload::builder(
domain.clone(),
PAGEVIEW_EVENT.to_string(),
format!("https://{}/test", domain))
.referrer(String::from("https://www.toddgriffin.me/"))
.screen_width(2560)
.props(HashMap::from([(
String::from("author"),
PropValue::from(String::from("Todd Everett Griffin")),
)]))
.build()
).await.unwrap();
}
source§impl Plausible
impl Plausible
sourcepub async fn health(&self) -> Result<HealthResponse, Error>
pub async fn health(&self) -> Result<HealthResponse, Error>
Monitor the status of the Plausible Analytics API.
§Errors
Will return Err
if an error occurred while creating/sending the request,
if it failed to decode the response’s bytes, if the response’s status code was not a
success, or if it failed to serialize the response bytes into HealthResponse
.
source§impl Plausible
impl Plausible
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new Plausible Analytics client with a brand new reqwest::Client
.
The client
is initialized with TLS certs from
webpki roots by default.
Examples found in repository?
More examples
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
async fn main() {
let domain: String = env::var("PLAUSIBLE_DOMAIN")
.expect("set env var `PLAUSIBLE_DOMAIN` to name of site in Plausible");
Plausible::new().event(
EventHeaders::new(
String::from("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"),
String::from("127.0.0.1")
),
EventPayload::builder(
domain.clone(),
PAGEVIEW_EVENT.to_string(),
format!("https://{}/test", domain))
.referrer(String::from("https://www.toddgriffin.me/"))
.screen_width(2560)
.props(HashMap::from([(
String::from("author"),
PropValue::from(String::from("Todd Everett Griffin")),
)]))
.build()
).await.unwrap();
}
sourcepub fn new_with_client(client: Client) -> Self
pub fn new_with_client(client: Client) -> Self
Create a new Plausible Analytics client with a given reqwest::Client
.