diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/routes/mod.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/routes/mod.rs b/src/routes/mod.rs index 33b9d09..d1548ac 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -29,16 +29,13 @@ struct ReturnToParams<'a> { type CookieMap<'a> = std::collections::HashMap<&'a str, ginger::Cookie<'a>>; fn get_cookie_map(src: Option<&str>) -> Result<CookieMap, ginger::ParseError> { - match src { - None => Ok(Default::default()), - Some(src) => { - use fallible_iterator::FallibleIterator; - - fallible_iterator::convert(ginger::parse_cookies(src)) - .map(|cookie| Ok((cookie.name, cookie))) - .collect() - } - } + use fallible_iterator::FallibleIterator; + + src.map(|s| { + fallible_iterator::convert(ginger::parse_cookies(s)) + .map(|cookie| Ok((cookie.name, cookie))) + .collect() + }).unwrap_or_else(|| Ok(Default::default())) } fn get_cookie_map_for_req<'a>( |