multipart-rs

Crates.iomultipart-rs
lib.rsmultipart-rs
version0.2.1
sourcesrc
created_at2024-03-01 13:54:27.051979
updated_at2024-11-29 10:01:18.812667
descriptionA simple, zero-allocation, streaming, async multipart reader & writer for Rust
homepage
repositoryhttps://github.com/feliwir/multipart-rs
max_upload_size
id1158930
size21,969
Stephan Vedder (feliwir)

documentation

README

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,
    }
}
Commit count: 23

cargo fmt