diff --git a/src/main.rs b/src/main.rs index 32f922f..23c793f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,12 +35,13 @@ async fn ping_server(Query(options): Query) -> Result Err(format!("invalid address: {e}")), - Ok(mut addrs) => match addrs.next() { - None => Err("could not resolve host".to_string()), - Some(addr) => match ping_mumble_server(addr).await { - Err(e) => Err(format!("could not ping server: {e}")), - Ok(info) => Ok(Json(info)), + Ok(addrs) => { + for addr in addrs { + if let Ok(info) = ping_mumble_server(addr).await { + return Ok(Json(info)); + } } + Err("could not resolve host".to_string()) } } }