Request: handle empty fields as errors
This commit is contained in:
parent
6d66bf9664
commit
f87299ad34
1 changed files with 8 additions and 0 deletions
|
@ -57,7 +57,15 @@ impl FromStr for Request {
|
||||||
}
|
}
|
||||||
if let Some((user, message)) = s.split_once(' ') {
|
if let Some((user, message)) = s.split_once(' ') {
|
||||||
let message = message.trim_end().to_string();
|
let message = message.trim_end().to_string();
|
||||||
|
if message.is_empty() {
|
||||||
|
return Err(ParseRequestError::EmptyMessage);
|
||||||
|
}
|
||||||
if let Some((user, host)) = user.rsplit_once('@') {
|
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 host = host.parse()?;
|
||||||
let user = user.to_string();
|
let user = user.to_string();
|
||||||
Ok(Request { user, host, message })
|
Ok(Request { user, host, message })
|
||||||
|
|
Loading…
Add table
Reference in a new issue