use crate::Query;
use hyper::Request;
use std::collections::HashMap;
pub trait RequestQueryExt {
fn queries(&self) -> &HashMap<String, String>;
fn query<P: Into<String>>(&self, query_name: P) -> Option<&String>;
}
impl RequestQueryExt for Request<hyper::Body> {
fn queries(&self) -> &HashMap<String, String> {
self.extensions()
.get::<Query>()
.map(|q| &q.0)
.expect("Routerify-Query: No parsed queries added to the request object while processing request. Make sure the `query_parser` middleware is attached properly.")
}
fn query<P: Into<String>>(&self, query_name: P) -> Option<&String> {
self.queries().get(&query_name.into())
}
}