From 54a7f5eab493014d200653897cbfd73339101b84 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 14 Apr 2022 21:01:19 +0000 Subject: feat(handle): return bad request --- src/lib.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index 972a160..d18d177 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -355,7 +355,21 @@ impl Router { while let Ok(size) = stream.read(&mut buffer).await { let content = String::from_utf8(buffer[0..size].to_vec())?; - url = url::Url::parse(&content.replace("\r\n", ""))?; + url = match url::Url::parse(&content.replace("\r\n", "")) { + Ok(u) => u, + Err(e) => { + stream + .write_all( + format!("59 The server (Windmark) received a bad request: {}", e) + .as_bytes(), + ) + .await?; + + stream.shutdown().await?; + + return Ok(()); + } + }; if content.contains("\r\n") { break; -- cgit v1.2.3