use std::time::Instant;
use cdns_rs::{sync::{request, QDns, QType, QuerySetup}, QDnsQueryResult};
fn main()
{
let now = Instant::now();
let res_a = request::resolve_fqdn("protonmail.com", None).unwrap();
let res_mx = request::resolve_mx("protonmail.com", None).unwrap();
let res_ptr_local = request::resolve_reverse("::1", None).unwrap();
let res_ptr = request::resolve_reverse("1.1.1.1", None).unwrap();
let mut dns_req =
QDns::make_empty(None, QuerySetup::default()).unwrap();
dns_req.add_request(QType::SOA, "protonmail.com");
let res: QDnsQueryResult = dns_req.query();
let elapsed = now.elapsed();
println!("Elapsed: {:.2?}", elapsed);
println!("A/AAAA:");
for a in res_a
{
println!("\t{}", a);
}
println!("MX:");
for mx in res_mx
{
println!("\t{}", mx);
}
println!("PTR local:");
for ptr in res_ptr_local
{
println!("\t{}", ptr);
}
println!("PTR:");
for ptr in res_ptr
{
println!("\t{}", ptr);
}
println!("SOA:");
let soa_res = res.get_result();
if soa_res.is_err() == true
{
println!("{}", soa_res.err().unwrap());
}
else
{
let soa = soa_res.unwrap();
if soa.is_empty() == true
{
println!("\tNo SOA found!")
}
else
{
for s in soa
{
for i in s.resp
{
println!("\t{}", i)
}
}
}
}
return;
}