#[macro_use] extern crate rocket; #[macro_use] extern crate serde_with; pub mod empty; pub mod garbage; pub mod get_ip; pub mod haversine; pub mod serialized_ip_info; pub mod util; use dotenv::dotenv; use std::error::Error; use rocket::fs::FileServer; use rocket::http::Method; use empty::*; use garbage::*; use get_ip::*; #[rocket::main] async fn main() -> Result<(), Box> { dotenv().ok(); let routes = routes![get_ip::get_ip, get_backend_ip_php]; let garbage_routes = routes![ garbage::garbage, garbage_php, backend_garbage, backend_garbage_php ]; let empty_routes = routes![ empty::empty, backend_empty, get_empty, empty_php, backend_empty_php, get_backend_empty_php ]; let routes = vec![routes, garbage_routes, empty_routes].concat(); let mut rocketship = rocket::build().mount("/", routes); let asset_path = std::env::current_dir().unwrap().join("assets"); if asset_path.exists() { let fileserver = FileServer::from(asset_path); rocketship = rocketship.mount("/", fileserver); } rocketship.launch().await?; Ok(()) }