aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-04-14 21:01:19 +0000
committerFuwn <[email protected]>2022-04-14 21:01:19 +0000
commit54a7f5eab493014d200653897cbfd73339101b84 (patch)
tree561c786b0e282d24fd6d4f49b00a91b9dd81c8e1 /src/lib.rs
parentdocs(cargo): bump version to 0.1.12 (diff)
downloadwindmark-54a7f5eab493014d200653897cbfd73339101b84.tar.xz
windmark-54a7f5eab493014d200653897cbfd73339101b84.zip
feat(handle): return bad request
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs16
1 files changed, 15 insertions, 1 deletions
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;