pushover_rs/pushover/data/
pushover_response.rs1use serde::Deserialize;
2
3#[derive(Debug, Clone, Deserialize)]
7pub struct PushoverResponse {
8 pub status: u8,
11 pub request: String,
13
14 pub user: Option<String>,
17 pub token: Option<String>,
19 pub errors: Option<Vec<String>>,
21}
22
23impl PushoverResponse {
24 pub async fn try_from_reqwest_response(response: reqwest::Response) -> Result<PushoverResponse, Box<dyn std::error::Error>> {
25 let data = response.json::<PushoverResponse>().await;
26
27 if data.is_err() {
28 return Err(Box::from(data.err().unwrap()))
29 }
30
31 return Ok(data.ok().unwrap());
32 }
33
34 pub fn try_from_blocking_reqwest_response(response: reqwest::blocking::Response) -> Result<PushoverResponse, Box<dyn std::error::Error>> {
35 let data = response.json::<PushoverResponse>();
36
37 if data.is_err() {
38 return Err(Box::from(data.err().unwrap()))
39 }
40
41 return Ok(data.ok().unwrap());
42 }
43}