From d377be4bf6fbfc9d7495d2f6168b1bcebbdb3ce6 Mon Sep 17 00:00:00 2001
From: Darius Auding <Darius.auding@gmx.de>
Date: Thu, 1 Jun 2023 21:38:32 +0200
Subject: [PATCH] Approach from request forms/data add a get request with form

---
 core/http/src/handling/request.rs | 4 +---
 site/404.html                     | 7 +++++++
 site/src/main.rs                  | 4 ++--
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs
index f2d4e10..efed546 100644
--- a/core/http/src/handling/request.rs
+++ b/core/http/src/handling/request.rs
@@ -2,10 +2,7 @@
 
 use std::{collections::HashMap, error::Error, fmt::Display};
 
-use mime::Mime;
-
 use super::{
-    file_handlers::find_mimetype,
     methods::Method,
     routes::{Data, Uri},
 };
@@ -66,6 +63,7 @@ impl Request<'_> {
             _ => false,
         }
     }
+    // pub fn get_post_form_key<T: FromRequest>(&self, data: Data) -> T {}
     pub fn get_get_form_keys(
         &self,
         keys: Vec<&str>,
diff --git a/site/404.html b/site/404.html
index d4c09f4..0a1a4ed 100644
--- a/site/404.html
+++ b/site/404.html
@@ -15,5 +15,12 @@
       <input type="text" id="asdf" name="message" />
       <button type="submit">Send</button>
     </form>
+    <form action="/static/hi" method="get">
+      <label for="jump">Enter asdf</label>
+      <input type="text" id="jump" name="asdf" />
+      <label for="jkl">Enter jkl;</label>
+      <input type="text" id="jkl" name="jkl" />
+      <button type="submit">Send</button>
+    </form>
   </body>
 </html>
diff --git a/site/src/main.rs b/site/src/main.rs
index b8e4a50..deb31d6 100644
--- a/site/src/main.rs
+++ b/site/src/main.rs
@@ -21,7 +21,7 @@ fn hashmap_to_string(map: &HashMap<&str, &str>) -> String {
 }
 
 fn handle_static_hi(request: Request<'_>, data: Data) -> Outcome<Response, Status, Data> {
-    let keys = if let Ok(keys) = request.get_get_form_keys(vec!["asdf", "jkl;"]) {
+    let keys = if let Ok(keys) = request.get_get_form_keys(vec!["asdf", "jkl"]) {
         keys
     } else {
         return Outcome::Forward(data);
@@ -111,7 +111,7 @@ async fn main() {
         rank: 0,
     };
 
-    http::build("127.0.0.1:8000")
+    http::build("192.168.178.32:8000")
         .await
         .mount("/", vec![fileserver, post_test, static_hi])
         .mount("/post/", vec![post_test])
-- 
GitLab