use rdap::bootstrap::rir_to_rdap_url;
use rdap::whois::format_whois;
use rdap::{QueryType, RdapClient, RdapRequest};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = RdapClient::new()?;
eprintln!("=== ASN Query (WHOIS format) ===\n");
let request = RdapRequest::new(QueryType::Autnum, "AS213605");
let result = client.query(&request).await?;
let whois_text = format_whois(&result);
print!("{}", whois_text);
eprintln!("\n=== Entity Query via RIR shortcut (WHOIS format) ===\n");
let server = rir_to_rdap_url("ripe").expect("Unknown RIR");
let request = RdapRequest::new(QueryType::Entity, "ORG-LA1994-RIPE").with_server(server);
let result = client.query(&request).await?;
let whois_text = format_whois(&result);
print!("{}", whois_text);
eprintln!("\n=== Domain Query (WHOIS format) ===\n");
let request = RdapRequest::new(QueryType::Domain, "example.com");
let result = client.query(&request).await?;
let whois_text = format_whois(&result);
print!("{}", whois_text);
Ok(())
}