summaryrefslogtreecommitdiff
path: root/src/api/guzzle.rs
diff options
context:
space:
mode:
authorseth <[email protected]>2023-04-04 23:23:28 -0400
committerseth <[email protected]>2023-04-05 20:34:12 -0400
commit65d0b7a553f718b1ba34799e604ceb07c062af61 (patch)
tree9a6b1c78aa6e79c2201ba124b536a05231b0ae20 /src/api/guzzle.rs
parented076bbd6fc22b32ea353ae6bd3cac79d039719a (diff)
rewrite in rust :)
Diffstat (limited to 'src/api/guzzle.rs')
-rw-r--r--src/api/guzzle.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/api/guzzle.rs b/src/api/guzzle.rs
new file mode 100644
index 0000000..88944ef
--- /dev/null
+++ b/src/api/guzzle.rs
@@ -0,0 +1,25 @@
+use reqwest::StatusCode;
+use serde::{Deserialize, Serialize};
+
+#[derive(Serialize, Deserialize)]
+struct GuzzleResponse {
+ pub url: String,
+}
+
+const GUZZLE: &str = "http://198.199.68.30";
+
+pub async fn get_random_teawie() -> String {
+ let endpoint = "/get_random_teawie";
+ let resp = reqwest::get(GUZZLE.to_owned() + endpoint).await.unwrap(); // why did i have to own
+ // this constant? i have
+ // no idea!
+ let err_msg = "couldn't get a teawie";
+
+ match resp.status() {
+ StatusCode::OK => match resp.json::<GuzzleResponse>().await {
+ Ok(data) => data.url,
+ Err(why) => format!("{} ({:?})", err_msg, why),
+ },
+ other => format!("{} ({:?})", err_msg, other),
+ }
+}