diff --git a/core/http/src/handlers/handlers.rs b/core/http/src/handlers/handlers.rs index b0b2c190d699bee9faa4e36f58da5128105a3065..df6ec34a33bb99424d8ae050134a7249311c0d04 100755 --- a/core/http/src/handlers/handlers.rs +++ b/core/http/src/handlers/handlers.rs @@ -26,6 +26,7 @@ pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoin } http_request.push(buffer); } + println!("{:?}", http_request); let request_status_line = if let Some(status_line) = http_request.get(0).cloned() { status_line @@ -33,6 +34,7 @@ pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoin eprintln!("\x1b[31mAborting due to missing headers\x1b[0m"); return; }; + let request = Request { uri: if let Some(uri) = &request_status_line.split(" ").nth(1) { *uri @@ -40,6 +42,7 @@ pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoin eprintln!("\x1b[31mAborting due to invalid status line\x1b[0m"); return; }, + cookies: None, headers: http_request, method: if let Some(method) = request_status_line .split(" ") @@ -53,7 +56,7 @@ pub async fn handle_connection(mut stream: TcpStream, mountpoints: Vec<MountPoin } else { eprintln!("\x1b[31mAborting due to invalid status line\x1b[0m"); return; - } + }, }; let mut data = Data { diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs index 5731425aa199b5f93eb95d62ea7823ae7716d1fc..884190143c0c50994d3f710578aeacf8ae6bc3f6 100644 --- a/core/http/src/handling/request.rs +++ b/core/http/src/handling/request.rs @@ -37,6 +37,7 @@ pub struct Request<'a> { pub uri: Uri<'a>, pub headers: HeaderMap, pub method: Method, + pub cookies: Option<Vec<&'a str>>, // pub connection: ConnectionMeta, } @@ -316,6 +317,7 @@ mod test { uri: "", headers: vec!["Content-Type: application/x-www-form-urlencoded".to_string()], method: crate::handling::methods::Method::Post, + cookies: None, }; let data = Data { buffer: b"message=23&message1=24".to_vec(), @@ -334,6 +336,7 @@ mod test { uri: "", headers: vec!["Content-Type: multipart/form-data; boundary=\"boundary\"".to_string()], method: crate::handling::methods::Method::Post, + cookies: None, }; let data = Data { buffer: b"--boundary\r