diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs index a74685fafbf55d310c6c909ea6291252d57bb60a..5267de1f40c168e5a256c7007fe8482d26a44aa8 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!(