refraction/src/api/dadjoke.rs
seth 45403e9d9b
initial rewrite in rust & moderation commands
Signed-off-by: seth <getchoo@tuta.io>
2023-12-03 18:29:04 -05:00

21 lines
550 B
Rust

use crate::api::REQWEST_CLIENT;
use color_eyre::eyre::{eyre, Result};
use log::*;
use reqwest::StatusCode;
const DADJOKE: &str = "https://icanhazdadjoke.com";
pub async fn get_joke() -> Result<String> {
let req = REQWEST_CLIENT.get(DADJOKE).build()?;
info!("making request to {}", req.url());
let resp = REQWEST_CLIENT.execute(req).await?;
let status = resp.status();
if let StatusCode::OK = status {
Ok(resp.text().await?)
} else {
Err(eyre!("Failed to fetch joke from {DADJOKE} with {status}"))
}
}