diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs index 12947a6dc74a9c211b54e9cc5fa8f57e4015d55c..6fa46ded00a9d9750ad4a84249d58bc7fa76bcb6 100644 --- a/core/http/src/handling/request.rs +++ b/core/http/src/handling/request.rs @@ -75,7 +75,7 @@ impl Request<'_> { pub fn get_get_form_keys<'a>( &'a self, keys: &'a [&str], - ) -> Result<HashMap<&str, &str>, ParseFormError> { + ) -> Result<HashMap<&str, Result<&str, ParseFormError>>, ParseFormError> { let data = if let Some(val) = self.uri.split_once("?") { val } else { @@ -100,14 +100,14 @@ impl Request<'_> { } let mut response = HashMap::new(); for key in keys { - let entry = if let Some(val) = values.get_key_value(key) { - val + let entry = if let Some(val) = values.get(key) { + Ok(*val) } else { - return Err(ParseFormError { + Err(ParseFormError { error: ParseErrors::NoData, - }); + }) }; - response.insert(*entry.0, *entry.1); + response.insert((*key).into(), entry); } Ok(response) }