summaryrefslogtreecommitdiff
path: root/src/api/guzzle.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/guzzle.rs')
-rw-r--r--src/api/guzzle.rs28
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)
}