Files
proxy-scraper-checker/src/utils.rs
T

30 lines
784 B
Rust
Raw Normal View History

2025-04-24 08:57:50 +03:00
pub async fn is_docker() -> bool {
#[cfg(target_os = "linux")]
{
static CACHE: tokio::sync::OnceCell<bool> =
tokio::sync::OnceCell::const_new();
2025-04-10 06:55:12 +00:00
*CACHE
2025-05-24 01:31:42 +03:00
.get_or_init(async || {
tokio::fs::try_exists("/.dockerenv").await.unwrap_or(false)
})
.await
}
#[cfg(not(target_os = "linux"))]
{
false
}
2025-04-10 06:55:12 +00:00
}
2025-04-24 08:57:50 +03:00
pub fn is_http_url(value: &str) -> bool {
2025-05-24 01:31:42 +03:00
url::Url::parse(value).is_ok_and(|parsed_url| {
2025-04-10 06:55:12 +00:00
let scheme = parsed_url.scheme();
(scheme == "http" || scheme == "https")
&& parsed_url.host_str().is_some()
2025-04-24 08:57:50 +03:00
})
2025-04-10 06:55:12 +00:00
}
2025-04-29 13:06:18 +03:00
pub fn pretty_error(e: &color_eyre::Report) -> String {
e.chain().map(ToString::to_string).collect::<Vec<_>>().join(" \u{2192} ")
}