From f87299ad34d2b2ce351e62a680e28a3d626199e3 Mon Sep 17 00:00:00 2001 From: Nathan Fisher Date: Mon, 22 May 2023 10:29:39 -0400 Subject: [PATCH] Request: handle empty fields as errors --- src/request.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/request.rs b/src/request.rs index 21210da..96c3d67 100644 --- a/src/request.rs +++ b/src/request.rs @@ -57,7 +57,15 @@ impl FromStr for Request { } if let Some((user, message)) = s.split_once(' ') { let message = message.trim_end().to_string(); + if message.is_empty() { + return Err(ParseRequestError::EmptyMessage); + } if let Some((user, host)) = user.rsplit_once('@') { + if host.is_empty() { + return Err(ParseRequestError::EmptyHost); + } else if user.is_empty() { + return Err(ParseRequestError::EmptyUser); + } let host = host.parse()?; let user = user.to_string(); Ok(Request { user, host, message })