diff --git a/core/http/src/handlers/handlers.rs b/core/http/src/handlers/handlers.rs
index 0f724cd86990039c4a096f43efb76a053e3f13f2..17812fc16ccef1b1b0c42edfc231c4626620cf29 100755
--- a/core/http/src/handlers/handlers.rs
+++ b/core/http/src/handlers/handlers.rs
@@ -10,7 +10,7 @@ use crate::handling::{
 };
 use crate::setup::MountPoint;
 
-static MAX_HTTPMESSAGE_SIZE: u16 = 4196;
+static MAX_HTTP_MESSAGE_SIZE: u16 = 4196;
 
 pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoint<'_>>) {
     let mut buf_reader = BufReader::new(&mut stream);
@@ -88,7 +88,7 @@ pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoin
             0
         };
         if length != 0 {
-            let mut buffer = vec![0u8; MAX_HTTPMESSAGE_SIZE.into()];
+            let mut buffer = vec![0u8; MAX_HTTP_MESSAGE_SIZE.into()];
             let read = buf_reader.read(&mut buffer).await.unwrap();
             if read != length {
                 len_not_defined(stream, Status::LengthRequired).await;
diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs
index ff4db83ed1bee70488bae7c4f82ef6b46b0088d9..171798a2f9fed838a2e83d47b415a0a9abc9f861 100644
--- a/core/http/src/handling/request.rs
+++ b/core/http/src/handling/request.rs
@@ -2,8 +2,6 @@
 
 use std::{collections::HashMap, error::Error, fmt::Display};
 
-use tokio::io::BufReader;
-
 use crate::utils::mime::mime_enum::Mime;
 
 static TWO_NEWLINES: u8 = 3;
@@ -13,7 +11,27 @@ use super::{
     routes::{Data, Uri},
 };
 
+pub trait FromRequest: Send {
+    fn get_data(&self) -> &Self;
+    fn set_data(&mut self, data: &Self);
+    fn append(&mut self, data: &Self);
+}
+
+impl FromRequest for Vec<u8> {
+    fn get_data(&self) -> &Self {
+        &self
+    }
+
+    fn set_data(&mut self, data: &Self) {
+        *self = data.to_vec();
+    }
+    fn append(&mut self, data: &Self) {
+        self.extend_from_slice(data);
+    }
+}
+
 type HeaderMap = Vec<String>;
+
 #[derive(Clone)]
 pub struct Request<'a> {
     pub uri: Uri<'a>,
@@ -203,7 +221,7 @@ impl Request<'_> {
                 let end_boundary = format!("{temp_bound}--\r").as_bytes().to_owned();
                 temp_bound.push('\r');
                 let boundary = temp_bound.as_bytes();
-                Request::get_multipart(data, boundary, &end_boundary, &mut keymap);
+                Request::get_multipart_data(data, boundary, &end_boundary, &mut keymap);
             }
             _ => {
                 return Err(ParseFormError {
@@ -213,15 +231,6 @@ impl Request<'_> {
         };
         Ok(keymap)
     }
-    fn decode_multipart<'a>(
-        data: &Data,
-        keys: &[&'a str],
-    ) -> HashMap<String, Result<Vec<u8>, ParseFormError>> {
-        let mut data = data.buffer.as_ref();
-        let mut buf_reader = BufReader::new(&mut data);
-        let mut http_request: Vec<String> = Vec::with_capacity(2);
-        todo!()
-    }
     fn get_multipart_data(
         data: &[u8],
         boundary: &[u8],