Crate multiparty[−][src]
Expand description
multiparty
Simple zero copy* streaming multipart decoder implementation.
* Except for streams yielding Bytes
smaller than half the boundary length.
Examples
multiparty = { version = "0.1", features = ["server", "futures03"] }
use multiparty::server::owned_futures03::FormData; use futures_util::stream::TryStreamExt; let boundary = todo!("A multipart/form-data boundary"); let stream = todo!("A Stream<Item = std::io::Result<Bytes>> + Unpin"); let mut multipart = FormData::new(stream, boundary); while let Some(mut part) = multipart.try_next().await? { let headers = part.raw_headers().parse()?; println!("name: {:?}", headers.name); println!("filename: {:?}", headers.filename); println!("content_type: {:?}", headers.content_type); while let Some(bytes) = part.try_next().await? { println!("Read {} bytes from the current part", bytes.len()); } println!("Reached the end of this part"); }