![let mut request = Request::new(Get, Url::parse("http://_/")?); let value = r#"for=192.0.2.43, for="[2001:db8:cafe::17]", for=unknown;proto=https"#; request.insert_header("Forwarded", value); let forwarded = Forwarded::from_headers(&request)?.unwrap(); assert_eq!(forwarded.proto(), Some("https")); assert_eq!(forwarded.forwarded_for(), vec!["192.0.2.43", "[2001:db8:cafe::17]", "unknown"]);](https://pbs.twimg.com/media/EjENCQHXsAAMgY5.png?name=small&format=webp)
ALT let mut request = Request::new(Get, Url::parse("http://_/")?); let value = r#"for=192.0.2.43, for="[2001:db8:cafe::17]", for=unknown;proto=https"#; request.insert_header("Forwarded", value); let forwarded = Forwarded::from_headers(&request)?.unwrap(); assert_eq!(forwarded.proto(), Some("https")); assert_eq!(forwarded.forwarded_for(), vec!["192.0.2.43", "[2001:db8:cafe::17]", "unknown"]);
![use surf::ClientExt; #[async_std::test] async fn nested() -> tide::Result<()> { let mut inner = tide::new(); inner.at("/foo").get(|_| async { Ok("foo") }); inner.at("/bar").get(|_| async { Ok("bar") }); // Nest the inner app on /foo of the outer app let mut outer = tide::new(); outer.at("/foo").nest(inner); assert_eq!(outer.get("/foo/foo").recv_string().await?, "foo"); assert_eq!(outer.get("/foo/bar").recv_string().await?, "bar"); Ok(()) }](https://pbs.twimg.com/media/EiNazJVXgAAsQpF.png?name=small&format=webp)
ALT use surf::ClientExt; #[async_std::test] async fn nested() -> tide::Result<()> { let mut inner = tide::new(); inner.at("/foo").get(|_| async { Ok("foo") }); inner.at("/bar").get(|_| async { Ok("bar") }); // Nest the inner app on /foo of the outer app let mut outer = tide::new(); outer.at("/foo").nest(inner); assert_eq!(outer.get("/foo/foo").recv_string().await?, "foo"); assert_eq!(outer.get("/foo/bar").recv_string().await?, "bar"); Ok(()) }










