mod dns; mod web; use microtld_backend::DnsProvider; use crate::web::service::WebService; #[tokio::main] async fn main() -> anyhow::Result<()> { let mut backend = dns::init_dns_backend()?; let provider = backend.get_provider_wrapped().as_provider(); { //Scope for client initialization let mut provider = provider.write().await; provider.init_client()?; } let db_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set"); let listen_url = std::env::var("LISTEN_URL").expect("LISTEN_URL must be set"); let web_service = WebService::new( db_url, listen_url.clone(), backend, ).await?; println!("Listening on {}", listen_url); web_service.run().await }