diff --git a/Cargo.toml b/Cargo.toml
index c6f7832b7..cc1fca285 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,21 +19,21 @@ readme = "README.md"
repository = "https://github.com/http-rs/tide"
[dependencies]
+accept-encoding = "0.2.0-alpha.2"
+async-compression = "0.1.0-alpha.7"
cookie = { version = "0.12.0", features = ["percent-encode"] }
-futures-preview = "0.3.0-alpha.19"
fnv = "1.0.6"
+futures-preview = "0.3.0-alpha.19"
http = "0.1.19"
http-service = "0.3.1"
+log = "0.4.8"
pin-utils = "0.1.0-alpha.4"
route-recognizer = "0.1.13"
serde = "1.0.102"
serde_derive = "1.0.102"
serde_json = "1.0.41"
+serde_qs = "0.5.0"
typemap = "0.3.3"
-serde_urlencoded = "0.6.1"
-log = "0.4.8"
-accept-encoding = "0.2.0-alpha.2"
-async-compression = "0.1.0-alpha.7"
[dependencies.http-service-hyper]
optional = true
diff --git a/examples/cookies.rs b/examples/cookies.rs
index ae762ed3b..19c33635a 100644
--- a/examples/cookies.rs
+++ b/examples/cookies.rs
@@ -3,7 +3,7 @@ use tide::{cookies::ContextExt, middleware::CookiesMiddleware, Context};
/// Tide will use the the `Cookies`'s `Extract` implementation to build this parameter.
///
-async fn retrieve_cookie(mut cx: Context<()>) -> String {
+async fn retrieve_cookie(cx: Context<()>) -> String {
format!("hello cookies: {:?}", cx.get_cookie("hello").unwrap())
}
diff --git a/examples/nested_router.rs b/examples/nested_router.rs
new file mode 100644
index 000000000..7cf85b98a
--- /dev/null
+++ b/examples/nested_router.rs
@@ -0,0 +1,15 @@
+use tide::App;
+
+fn main() {
+ let mut app = App::new();
+ app.at("/gates").nest(|router| {
+ router
+ .at("/")
+ .get(|_| async move { "This is an area in front of the gates" });
+ router.at("/open").get(|_| async move { "Open the gates!" });
+ router
+ .at("/close")
+ .get(|_| async move { "Close the gates!" });
+ });
+ app.run("127.0.0.1:8000").unwrap();
+}
diff --git a/src/cookies.rs b/src/cookies.rs
index 48fa1a2cb..41f0adcb9 100644
--- a/src/cookies.rs
+++ b/src/cookies.rs
@@ -30,7 +30,7 @@ impl CookieData {
/// An extension to `Context` that provides cached access to cookies
pub trait ContextExt {
/// returns a `Cookie` by name of the cookie
- fn get_cookie(&mut self, name: &str) -> Result