use std::collections::HashMap;
pub struct UrlParams<'a> {
pub path: &'a HashMap<String, String>,
pub query: &'a HashMap<String, String>,
}
impl<'a> UrlParams<'a> {
pub fn new(path: &'a HashMap<String, String>, query: &'a HashMap<String, String>) -> Self {
Self { path, query }
}
#[must_use]
pub fn get(&self, key: &str) -> Option<&str> {
self.path
.get(key)
.or_else(|| self.query.get(key))
.map(String::as_str)
}
}