From 31ddc4872134c9c47063c4f123cdf3826e5d6a81 Mon Sep 17 00:00:00 2001 From: dvkt Date: Thu, 26 Dec 2019 21:01:13 -0800 Subject: [PATCH] basic --- src/main.rs | 2 +- src/server.rs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0aedd98..264d73e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,7 +39,7 @@ fn main() { let addr = format!("{}:{}", host, port); println!("-> Serving {} on {}", root, addr); - if let Err(e) = phd::server::start(addr, &root) { + if let Err(e) = phd::server::start(&addr, &root) { eprintln!("{}", e); } } diff --git a/src/server.rs b/src/server.rs index 40eb323..31ffe66 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,11 +1,10 @@ use async_std::{ fs, io::BufReader, - net::{TcpListener, TcpStream, ToSocketAddrs}, + net::{TcpListener, TcpStream}, prelude::*, task, }; -use std::path; type Result = std::result::Result>; @@ -20,18 +19,19 @@ async fn listen(addr: &str, root: &str) -> Result<()> { while let Some(stream) = incoming.next().await { let stream = stream?; println!("-> Connection from: {}", stream.peer_addr()?); - task::spawn(client_loop(stream, &root.to_string())); + let root = root.to_string(); + task::spawn(client_loop(stream, root)); } Ok(()) } -async fn client_loop(mut stream: TcpStream, root: &str) -> Result<()> { +async fn client_loop(mut stream: TcpStream, root: String) -> Result<()> { let reader = BufReader::new(&stream); let mut lines = reader.lines(); if let Some(Ok(line)) = lines.next().await { println!("-> client sent: {:?}", line); - respond(&mut stream, &line, root).await?; + respond(&mut stream, &line, &root).await?; } Ok(()) }