From 91fb02ce5510ca1a8884d0f7d846471b6ae72d7d Mon Sep 17 00:00:00 2001
From: Darius Auding <Darius.auding@gmx.de>
Date: Tue, 6 Jun 2023 20:49:49 +0200
Subject: [PATCH] update the `get_get_form_data()` to return a
 Result<Hasmap<&str, Result<&str, ParseFormError>>, ParseFormError> for easier
 handling of not existant keys

---
 core/http/src/handling/request.rs | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs
index 12947a6..6fa46de 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)
     }
-- 
GitLab