From 2e6856dea891c957d00facb2637dfaccc9239315 Mon Sep 17 00:00:00 2001 From: 0x79756b69 <76654022+0x79756b69@users.noreply.github.com> Date: Wed, 21 Jul 2021 14:54:23 +0900 Subject: [PATCH 1/3] feat(server): add an example for get method. --- examples/params.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/examples/params.rs b/examples/params.rs index 38c9bfabad..3f8f1b1e6c 100644 --- a/examples/params.rs +++ b/examples/params.rs @@ -68,6 +68,29 @@ async fn param_example(req: Request) -> Result, hyper::Erro let body = format!("Hello {}, your number is {}", name, number); Ok(Response::new(body.into())) } + (&Method::GET, "/get") => { + let query = if let Some(q) = req.uri().query() { + q + }else{ + return Ok(Response::builder() + .status(StatusCode::UNPROCESSABLE_ENTITY) + .body(MISSING.into()) + .unwrap()); + }; + let params = url::form_urlencoded::parse(query.as_bytes()) + .into_owned() + .collect::>(); + let page = if let Some(p) = params.get("page") { + p + }else { + return Ok(Response::builder() + .status(StatusCode::UNPROCESSABLE_ENTITY) + .body(MISSING.into()) + .unwrap()); + }; + let body = format!("You requested {}", page); + Ok(Response::new(body.into())) + } _ => Ok(Response::builder() .status(StatusCode::NOT_FOUND) .body(Body::empty()) From fd6348e386d273450213dc10f971a7e68024bd9e Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Wed, 21 Jul 2021 08:06:34 -0700 Subject: [PATCH 2/3] Apply suggestions from code review --- examples/params.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/params.rs b/examples/params.rs index 3f8f1b1e6c..71245eab56 100644 --- a/examples/params.rs +++ b/examples/params.rs @@ -71,18 +71,18 @@ async fn param_example(req: Request) -> Result, hyper::Erro (&Method::GET, "/get") => { let query = if let Some(q) = req.uri().query() { q - }else{ + } else{ return Ok(Response::builder() .status(StatusCode::UNPROCESSABLE_ENTITY) .body(MISSING.into()) .unwrap()); }; - let params = url::form_urlencoded::parse(query.as_bytes()) + let params = form_urlencoded::parse(query.as_bytes()) .into_owned() .collect::>(); let page = if let Some(p) = params.get("page") { p - }else { + } else { return Ok(Response::builder() .status(StatusCode::UNPROCESSABLE_ENTITY) .body(MISSING.into()) From aa9b56407e1220956a313b63414e0b0f7e61817e Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Wed, 21 Jul 2021 08:12:15 -0700 Subject: [PATCH 3/3] Update examples/params.rs --- examples/params.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/params.rs b/examples/params.rs index 71245eab56..87c2368928 100644 --- a/examples/params.rs +++ b/examples/params.rs @@ -71,7 +71,7 @@ async fn param_example(req: Request) -> Result, hyper::Erro (&Method::GET, "/get") => { let query = if let Some(q) = req.uri().query() { q - } else{ + } else { return Ok(Response::builder() .status(StatusCode::UNPROCESSABLE_ENTITY) .body(MISSING.into())