use std::net::SocketAddr; use clap::Parser; use warp::Filter; #[derive(Parser, Debug)] #[command(author, version, about, long_about = None)] struct CLIArgs { #[arg(short, long)] bind: String } #[tokio::main] async fn main() { let args = CLIArgs::parse(); let addr: SocketAddr = args.bind.parse().expect(&format!("Cannot bind to {}. Please provide a host and port like [::1]:8000", &args.bind)); println!("Server listening to {}", &args.bind); let routes = warp::any().map(|| "Hello, World!"); warp::serve(routes).run(addr).await; println!("Turning out server"); println!("Adieu"); }