# actix_web::multipart::Multipart - Rust
API documentation for the Rust `Multipart` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, Multipart

# [−] [src] Struct actix_web::multipart::Multipart

    pub struct Multipart<S> { /* fields omitted */ }

The server-side implementation of `multipart/form-data` requests.

This will parse the incoming stream into `MultipartItem` instances via its Stream implementation. `MultipartItem::Field` contains multipart field. `MultipartItem::Multipart` is used for nested multipart streams.

## Methods

###

`impl Multipart<()>`

[src]

####

`pub fn boundary(headers: &HeaderMap) -> Result<String, MultipartError>`

[src]

Extract boundary info from headers.

###

`impl<S> Multipart<S> where S: Stream<Item = Bytes, Error = PayloadError>,`

[src]

####

`pub fn new(boundary: Result<String, MultipartError>, stream: S) -> Multipart<S>`

[src]

Create multipart instance for boundary.

## Trait Implementations

###

`impl<S> Stream for Multipart<S> where S: Stream<Item = Bytes, Error = PayloadError>,`

[src]

#### `type Item = MultipartItem<S>`

The type of item this stream will yield on success.

#### `type Error = MultipartError`

The type of error this stream may generate.

####

`fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error>`

[src]

Attempt to pull out the next value of this stream, returning `None` if the stream is finished. Read more

####

`fn wait(self) -> Wait<Self>`

[src]

Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more

####

`fn into_future(self) -> StreamFuture<Self>`

[src]

Converts this stream into a `Future`. Read more

####

`fn map<U, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> U,`

[src]

Converts a stream of type `T` to a stream of type `U`. Read more

####

`fn map_err<U, F>(self, f: F) -> MapErr<Self, F> where F: FnMut(Self::Error) -> U,`

[src]

Converts a stream of error type `T` to a stream of error type `U`. Read more

####

`fn filter<F>(self, f: F) -> Filter<Self, F> where F: FnMut(&Self::Item) -> bool,`

[src]

Filters the values produced by this stream according to the provided predicate. Read more

####

`fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>,`

[src]

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more

####

`fn then<F, U>(self, f: F) -> Then<Self, F, U> where F: FnMut(Result<Self::Item, Self::Error>) -> U, U: IntoFuture,`

[src]

Chain on a computation for when a value is ready, passing the resulting item to the provided closure `f`. Read more

####

`fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where F: FnMut(Self::Item) -> U, U: IntoFuture<Error = Self::Error>,`

[src]

Chain on a computation for when a value is ready, passing the successful results to the provided closure `f`. Read more

####

`fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where F: FnMut(Self::Error) -> U, U: IntoFuture<Item = Self::Item>,`

[src]

Chain on a computation for when an error happens, passing the erroneous result to the provided closure `f`. Read more

####

`fn collect(self) -> Collect<Self>`

[src]

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more

####

`fn concat2(self) -> Concat2<Self> where Self::Item: Extend<<Self::Item as IntoIterator>::Item>, Self::Item: IntoIterator, Self::Item: Default,`

[src]

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

####

`fn concat(self) -> Concat<Self> where Self::Item: Extend<<Self::Item as IntoIterator>::Item>, Self::Item: IntoIterator,`

[src]

Deprecated since 0.1.14

: please use `Stream::concat2` instead

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

####

`fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T> where F: FnMut(T, Self::Item) -> Fut, Fut: IntoFuture<Item = T>, Self::Error: From<<Fut as IntoFuture>::Error>,`

[src]

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

####

`fn flatten(self) -> Flatten<Self> where Self::Item: Stream, <Self::Item as Stream>::Error: From<Self::Error>,`

[src]

Flattens a stream of streams into just one continuous stream. Read more

####

`fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R> where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item = bool, Error = Self::Error>,`

[src]

Skip elements on this stream while the predicate provided resolves to `true`. Read more

####

`fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item = bool, Error = Self::Error>,`

[src]

Take elements from this stream while the predicate provided resolves to `true`. Read more

####

`fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where F: FnMut(Self::Item) -> U, U: IntoFuture<Item = (), Error = Self::Error>,`

[src]

Runs this stream to completion, executing the provided closure for each element on the stream. Read more

####

`fn from_err<E>(self) -> FromErr<Self, E> where E: From<Self::Error>,`

[src]

Map this stream's error to any error implementing `From` for this stream's `Error`, returning a new stream. Read more

####

`fn take(self, amt: u64) -> Take<Self>`

[src]

Creates a new stream of at most `amt` items of the underlying stream. Read more

####

`fn skip(self, amt: u64) -> Skip<Self>`

[src]

Creates a new stream which skips `amt` items of the underlying stream. Read more

####

`fn fuse(self) -> Fuse<Self>`

[src]

Fuse a stream such that `poll` will never again be called once it has finished. Read more

####

`fn by_ref(&mut self) -> &mut Self`

[src]

Borrows a stream, rather than consuming it. Read more

####

`fn catch_unwind(self) -> CatchUnwind<Self> where Self: UnwindSafe,`

[src]

Catches unwinding panics while polling the stream. Read more

####

`fn buffered(self, amt: usize) -> Buffered<Self> where Self::Item: IntoFuture, <Self::Item as IntoFuture>::Error == Self::Error,`

[src]

An adaptor for creating a buffered list of pending futures. Read more

####

`fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where Self::Item: IntoFuture, <Self::Item as IntoFuture>::Error == Self::Error,`

[src]

An adaptor for creating a buffered list of pending futures (unordered). Read more

####

`fn merge<S>(self, other: S) -> Merge<Self, S> where S: Stream<Error = Self::Error>,`

[src]

Deprecated

: functionality provided by `select` now

An adapter for merging the output of two streams. Read more

####

`fn zip<S>(self, other: S) -> Zip<Self, S> where S: Stream<Error = Self::Error>,`

[src]

An adapter for zipping two streams together. Read more

####

`fn chain<S>(self, other: S) -> Chain<Self, S> where S: Stream<Item = Self::Item, Error = Self::Error>,`

[src]

Adapter for chaining two stream. Read more

####

`fn peekable(self) -> Peekable<Self>`

[src]

Creates a new stream which exposes a `peek` method. Read more

####

`fn chunks(self, capacity: usize) -> Chunks<Self>`

[src]

An adaptor for chunking up items of the stream inside a vector. Read more

####

`fn select<S>(self, other: S) -> Select<Self, S> where S: Stream<Item = Self::Item, Error = Self::Error>,`

[src]

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more

####

`fn forward<S>(self, sink: S) -> Forward<Self, S> where S: Sink<SinkItem = Self::Item>, Self::Error: From<<S as Sink>::SinkError>,`

[src]

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

####

`fn split(self) -> (SplitSink<Self>, SplitStream<Self>) where Self: Sink,`

[src]

Splits this `Stream + Sink` object into separate `Stream` and `Sink` objects. Read more

####

`fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item),`

[src]

Do something with each item of this stream, afterwards passing it on. Read more

####

`fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where F: FnMut(&Self::Error),`

[src]

Do something with the error of this stream, afterwards passing it on. Read more

## Auto Trait Implementations

###

`impl<S> !Send for Multipart<S>`

###

`impl<S> !Sync for Multipart<S>`

## Blanket Implementations

###

`impl<T> From for T`

[src]

####

`fn from(t: T) -> T`

[src]

Performs the conversion.

###

`impl<T, U> Into for T where U: From<T>,`

[src]

####

`fn into(self) -> U`

[src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,`

[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Borrow for T where T: ?Sized,`

[src]

####

`fn borrow(&self) -> &T`

[src]

Immutably borrows from an owned value. Read more

###

`impl<T> BorrowMut for T where T: ?Sized,`

[src]

####

`fn borrow_mut(&mut self) -> &mut T`

[src]

Mutably borrows from an owned value. Read more

###

`impl<T, U> TryInto for T where U: TryFrom<T>,`

[src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Any for T where T: 'static + ?Sized,`

[src]

####

`fn get_type_id(&self) -> TypeId`

[src]

🔬 This is a nightly-only experimental API. (`get_type_id`)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

###

`impl<T> Erased for T`

###

`impl<T> StreamExt for T where T: Stream + ?Sized,`

[src]

####

`fn timeout(self, timeout: Duration) -> Timeout<Self>`

[src]

Creates a new stream which allows `self` until `timeout`. Read more

###

`impl<S, A> WrapStream for S where A: Actor, S: Stream,`

#### `type Stream = StreamWrap<S, A>`

The stream that this type can be converted into.

#### `type Item = <S as Stream>::Item`

The item that the future may resolve with.

#### `type Error = <S as Stream>::Error`

The error that the future may resolve with.

####

`fn into_actor(self, &A) -> <S as WrapStream<A>>::Stream` |

Convert normal stream to a ActorStream

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)