[−][src]Trait routerify_query::RequestQueryExt
An extension trait which extends the hyper::Request
type with some helpful methods to
access query values from req
object.
Required methods
fn queries(&self) -> &HashMap<String, String>
It returns the parsed queries in a HashMap.
Examples
use hyper::{Body, Request, Response, Server}; use routerify::{Router, RouterService}; // Import the query_parser function and the RequestQueryExt trait. use routerify_query::{query_parser, RequestQueryExt}; use std::{convert::Infallible, net::SocketAddr}; // A handler for "/" page. Visit: "/?username=Alice&bookname=HarryPotter" to see query values. async fn home_handler(req: Request<Body>) -> Result<Response<Body>, Infallible> { // Access the query values. let queries = req.queries(); let user_name = queries.get("username").unwrap(); let book_name = queries.get("bookname").unwrap(); Ok(Response::new(Body::from(format!( "User: {}, Book: {}", user_name, book_name )))) } // Create a router. Router::builder() // Attach the query_parser middleware. .middleware(query_parser()) .get("/", home_handler) .build() .unwrap() }
fn query<P: Into<String>>(&self, query_name: P) -> Option<&String>
It returns the query value by a query name.
Examples
use hyper::{Body, Request, Response, Server}; use routerify::{Router, RouterService}; // Import the query_parser function and the RequestQueryExt trait. use routerify_query::{query_parser, RequestQueryExt}; use std::{convert::Infallible, net::SocketAddr}; // A handler for "/" page. Visit: "/?username=Alice&bookname=HarryPotter" to see query values. async fn home_handler(req: Request<Body>) -> Result<Response<Body>, Infallible> { // Access the query values. let user_name = req.query("username").unwrap(); let book_name = req.query("bookname").unwrap(); Ok(Response::new(Body::from(format!( "User: {}, Book: {}", user_name, book_name )))) } // Create a router. Router::builder() // Attach the query_parser middleware. .middleware(query_parser()) .get("/", home_handler) .build() .unwrap() }