4a3d54e87464a242b7196dab26ba9b53954b877b
[hlquery.git] / src / main.rs
1 use std::env::args;
2 use std::net::{SocketAddr, ToSocketAddrs};
3 use a2s::A2SClient;
4
5 fn main() {
6 let client = A2SClient::new().unwrap();
7 let addresses = args().skip(1)
8 .flat_map(|arg| arg.to_socket_addrs())
9 .flat_map(|iter_addr| iter_addr.flat_map(|sa| match sa {
10 SocketAddr::V4(sa4) => Some(sa4),
11 _ => None
12 })
13 );
14
15 for address in addresses {
16
17 println!("Querying address: {}", address);
18
19 if let Ok(result) = client.info(address) {
20 println!("{}\n", serde_json::to_string_pretty(&result).unwrap());
21 }
22
23 if let Ok(result) = client.rules(address) {
24 println!("{}\n", serde_json::to_string_pretty(&result).unwrap());
25 }
26
27 if let Ok(result) = client.players(address) {
28 println!("{}\n", serde_json::to_string_pretty(&result).unwrap());
29 }
30
31 }
32 }