File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -68,6 +68,29 @@ async fn param_example(req: Request<Body>) -> Result<Response<Body>, hyper::Erro
6868 let body = format ! ( "Hello {}, your number is {}" , name, number) ;
6969 Ok ( Response :: new ( body. into ( ) ) )
7070 }
71+ ( & Method :: GET , "/get" ) => {
72+ let query = if let Some ( q) = req. uri ( ) . query ( ) {
73+ q
74+ } else {
75+ return Ok ( Response :: builder ( )
76+ . status ( StatusCode :: UNPROCESSABLE_ENTITY )
77+ . body ( MISSING . into ( ) )
78+ . unwrap ( ) ) ;
79+ } ;
80+ let params = form_urlencoded:: parse ( query. as_bytes ( ) )
81+ . into_owned ( )
82+ . collect :: < HashMap < String , String > > ( ) ;
83+ let page = if let Some ( p) = params. get ( "page" ) {
84+ p
85+ } else {
86+ return Ok ( Response :: builder ( )
87+ . status ( StatusCode :: UNPROCESSABLE_ENTITY )
88+ . body ( MISSING . into ( ) )
89+ . unwrap ( ) ) ;
90+ } ;
91+ let body = format ! ( "You requested {}" , page) ;
92+ Ok ( Response :: new ( body. into ( ) ) )
93+ }
7194 _ => Ok ( Response :: builder ( )
7295 . status ( StatusCode :: NOT_FOUND )
7396 . body ( Body :: empty ( ) )
You can’t perform that action at this time.
0 commit comments