| 35 | |
| 36 | #[tokio::main(flavor = "current_thread")] |
| 37 | async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> { |
| 38 | let addr = SocketAddr::from(([0, 0, 0, 0], 8080)); |
| 39 | |
| 40 | let listener = TcpListener::bind(addr).await?; |
| 41 | println!("Listening on http://{}", addr); |
| 42 | loop { |
| 43 | let (stream, _) = listener.accept().await?; |
| 44 | |
| 45 | tokio::task::spawn(async move { |
| 46 | if let Err(err) = Http::new().serve_connection(stream, service_fn(echo)).await { |
| 47 | println!("Error serving connection: {:?}", err); |
| 48 | } |
| 49 | }); |
| 50 | } |
| 51 | } |