12 releases
0.1.11 | Jul 25, 2024 |
---|---|
0.1.10 | Jul 25, 2024 |
0.1.8 | Mar 6, 2024 |
#832 in Web programming
6,772 downloads per month
Used in 12 crates
(2 directly)
20KB
400 lines
Multipart-RS
A simple, zero-allocation, streaming, async multipart reader & writer for Rust
Reading multipart
let headermap = vec![(
"Content-Type".to_string(),
"multipart/form-data; boundary=--974767299852498929531610575".to_string(),
)];
// Lines must end with CRLF
let data = b"--974767299852498929531610575\r
Content-Disposition: form-data; name=\"afile\"; filename=\"a.txt\"\r
\r
Content of a.txt.\r
--974767299852498929531610575\r
Content-Disposition: form-data; name=\"bfile\"; filename=\"b.txt\"\r
Content-Type: text/plain\r
\r
Content of b.txt.\r
--974767299852498929531610575--\r\n";
let reader = MultipartReader::from_data_with_headers(data, &headermap);
loop {
match reader.next().await {
Some(Ok(item)) => println!(item),
Some(Err(e)) => panic!("Error: {:?}", e),
None => break,
}
}
Dependencies
~1–1.4MB
~25K SLoC