aboutsummaryrefslogtreecommitdiff
path: root/src/web
diff options
context:
space:
mode:
Diffstat (limited to 'src/web')
-rw-r--r--src/web/web_server.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/web/web_server.rs b/src/web/web_server.rs
index aab7e8de..24d111a9 100644
--- a/src/web/web_server.rs
+++ b/src/web/web_server.rs
@@ -124,7 +124,12 @@ fn authority_to_host(authority: &str) -> Result<&str, Error> {
let mut iter = iter.skip_while(|(_, c)| c != &']');
match iter.next() {
Some((_, ']')) => iter.next(),
- _ => None,
+ _ => {
+ return Err(Error::BadRequest(format!(
+ "Authority {} has an illegal format",
+ authority
+ )))
+ }
}
}
_ => iter.skip_while(|(_, c)| c != &':').next(),
@@ -213,10 +218,8 @@ mod tests {
assert_eq!(domain2, "garage.tld");
let domain3 = authority_to_host("127.0.0.1")?;
assert_eq!(domain3, "127.0.0.1");
- let domain4 = authority_to_host("[")?;
- assert_eq!(domain4, "[");
- let domain5 = authority_to_host("[hello")?;
- assert_eq!(domain5, "[hello");
+ assert!(authority_to_host("[").is_err());
+ assert!(authority_to_host("[hello").is_err());
Ok(())
}