pub struct MultipartStream<S, E>where
    S: Stream<Item = Result<Bytes, E>> + Unpin,
    E: Into<Box<dyn StdError + Send + Sync + 'static>>,{ /* private fields */ }Expand description
The main MultipartStream struct which will contain one or more fields (a stream of streams)
You can construct this given a boundary and a stream of bytes from a server request.
Please Note: If you are reading in a field, you must exhaust the field’s bytes before moving onto the next field
let mut stream = MultipartStream::new(boundary, body.map_ok(|mut buf| {
    let mut ret = BytesMut::with_capacity(buf.remaining());
    ret.put(buf);
    ret.freeze()
}));
while let Ok(Some(mut field)) = stream.try_next().await {
    println!("Field received:{}", field.name().unwrap());
    if let Ok(filename) = field.filename() {
        println!("Field filename:{}", filename);
    }
    while let Ok(Some(bytes)) = field.try_next().await {
        println!("Bytes received:{}", bytes.len());
    }
}Implementations§
Trait Implementations§
Source§impl<S, E> Stream for MultipartStream<S, E>
 
impl<S, E> Stream for MultipartStream<S, E>
Source§type Item = Result<MultipartField<S, E>, MultipartError>
 
type Item = Result<MultipartField<S, E>, MultipartError>
Values yielded by the stream.
Auto Trait Implementations§
impl<S, E> Freeze for MultipartStream<S, E>
impl<S, E> RefUnwindSafe for MultipartStream<S, E>
impl<S, E> Send for MultipartStream<S, E>where
    S: Send,
impl<S, E> Sync for MultipartStream<S, E>where
    S: Send,
impl<S, E> Unpin for MultipartStream<S, E>
impl<S, E> UnwindSafe for MultipartStream<S, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more