diff options
Diffstat (limited to 'src/api/guzzle.rs')
| -rw-r--r-- | src/api/guzzle.rs | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/api/guzzle.rs b/src/api/guzzle.rs index 437dbe6..c5093da 100644 --- a/src/api/guzzle.rs +++ b/src/api/guzzle.rs @@ -1,31 +1,19 @@ -use crate::api::REQWEST_CLIENT; - -use eyre::{eyre, Result}; +use eyre::Result; use log::debug; -use reqwest::StatusCode; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] -struct GuzzleResponse { - pub url: String, +struct RandomTeawieResponse { + url: String, } const GUZZLE: &str = "https://api.mydadleft.me"; const RANDOM_TEAWIE: &str = "/random_teawie"; -pub async fn get_random_teawie() -> Result<String> { - let req = REQWEST_CLIENT - .get(format!("{GUZZLE}{RANDOM_TEAWIE}")) - .build()?; - - debug!("Making request to {}", req.url()); - let resp = REQWEST_CLIENT.execute(req).await?; - let status = resp.status(); +pub async fn random_teawie() -> Result<String> { + let url = format!("{GUZZLE}{RANDOM_TEAWIE}"); + debug!("Making request to {url}"); + let json: RandomTeawieResponse = super::get_json(&url).await?; - if let StatusCode::OK = status { - let data: GuzzleResponse = resp.json().await?; - Ok(data.url) - } else { - Err(eyre!("Failed to get random Teawie with {status}")) - } + Ok(json.url) } |
