This commit is contained in:
2025-03-10 22:56:58 +01:00
parent f7fa5d5be4
commit c750dbd8f1
7 changed files with 129 additions and 34 deletions
+4 -4
View File
@@ -1,14 +1,14 @@
use std::{collections::HashMap, str::FromStr};
pub trait ParamMap {
fn parse_param<T: FromStr>(&self, param: &str) -> Result<T, String>;
fn parse_param<T: FromStr>(&self, param: &str) -> Result<T, crate::response::Error>;
}
impl ParamMap for HashMap<String, String> {
fn parse_param<T: FromStr>(&self, param: &str) -> Result<T, String> {
fn parse_param<T: FromStr>(&self, param: &str) -> Result<T, crate::response::Error> {
match self.get(param) {
Some(value) => T::from_str(value).map_err(|_| format!("Invalid parameter: {}", param)),
None => Err(format!("Parameter not found: {}", param)),
Some(value) => T::from_str(value).map_err(|_| crate::response::Error::InvalidParameter),
None => Err(crate::response::Error::InvalidParameter),
}
}
}