From 206fa32e55ebe2fa88abe91c8646d4880822b733 Mon Sep 17 00:00:00 2001 From: Darius Auding <Darius.auding@gmx.de> Date: Mon, 12 Jun 2023 20:57:22 +0200 Subject: [PATCH] finishing the `get_post_data()` function for binary Applicacation-x-www-urlencoded forms --- core/http/src/handling/request.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs index a74685f..5267de1 100644 --- a/core/http/src/handling/request.rs +++ b/core/http/src/handling/request.rs @@ -145,7 +145,10 @@ impl Request<'_> { match post_type { Mime::ApplicationXWwwFormUrlencoded => { for kvp in data.split(|byte| *byte == b'&') { - let kvp = kvp.split(|byte| *byte == b'=').collect::<Vec<&[u8]>>(); + let kvp = kvp + .split(|byte| *byte == b'=') + .map(|list| list.to_vec()) + .collect::<Vec<Vec<u8>>>(); let key = if let Some(kv) = kvp.get(0) { kv } else { @@ -331,7 +334,7 @@ mod test { method: crate::handling::methods::Method::Post, }; let data = Data { - buffer: b"message=23&message1=24".to_vec(), + buffer: b"message=24&message1=23".to_vec(), is_complete: true, }; assert_eq!( -- GitLab