Files
Cultivation/src-tauri/src/web.rs
Thoronium 422ce59f96 Clippy
2024-10-30 16:31:09 -06:00

51 lines
1.2 KiB
Rust

use http::header;
use once_cell::sync::Lazy;
use reqwest::header::{CONTENT_TYPE, USER_AGENT};
static CLIENT: Lazy<reqwest::Client> = Lazy::new(|| {
let mut headers = header::HeaderMap::new();
headers.insert(USER_AGENT, header::HeaderValue::from_static("cultivation"));
headers.insert(
CONTENT_TYPE,
header::HeaderValue::from_static("application/json"),
);
let client = reqwest::Client::builder().default_headers(headers);
client.build().unwrap()
});
pub(crate) async fn query(site: &str) -> String {
CLIENT
.get(site)
.send()
.await
.expect("Failed to get web response")
.text()
.await
.unwrap()
}
#[tauri::command]
pub(crate) async fn valid_url(url: String) -> bool {
// Check if we get a 200 response
let client = reqwest::Client::new();
let response = client
.get(url)
.header(USER_AGENT, "cultivation")
.send()
.await
.ok();
if let Some(thing) = response {
return thing.status().as_str() == "200";
} else {
false
}
}
#[tauri::command]
pub async fn web_get(url: String) -> String {
// Send a GET request to the specified URL and send the response body back to the client.
query(&url).await
}