minecraft_java_rs_core/net/
check.rs1use std::time::Duration;
2
3pub async fn check_internet() -> bool {
9 let client = match reqwest::Client::builder()
10 .timeout(Duration::from_secs(5))
11 .build()
12 {
13 Ok(c) => c,
14 Err(_) => return false,
15 };
16
17 client
18 .get("https://connectivitycheck.gstatic.com/generate_204")
19 .send()
20 .await
21 .is_ok()
22}
23
24#[cfg(test)]
27mod tests {
28 use super::*;
29
30 #[tokio::test]
31 async fn unreachable_host_returns_false() {
32 let client = reqwest::Client::builder()
34 .timeout(Duration::from_millis(200))
35 .build()
36 .unwrap();
37 let result = client
38 .get("http://192.0.2.1/generate_204") .send()
40 .await;
41 assert!(result.is_err());
42 }
43}