summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/routes/mod.rs17
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>(