[][src]Struct multipart::server::Multipart

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

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

Implements Borrow<R> to allow access to the request body, if desired.

Implementations

impl Multipart<()>[src]

pub fn from_request<R: HttpRequest>(req: R) -> Result<Multipart<R::Body>, R>[src]

If the given HttpRequest is a multipart/form-data POST request, return the request body wrapped in the multipart reader. Otherwise, returns the original request.

impl<R: Read> Multipart<R>[src]

pub fn with_body<Bnd: Into<String>>(body: R, boundary: Bnd) -> Self[src]

Construct a new Multipart with the given body reader and boundary.

Note: boundary

This will prepend the requisite -- to the boundary string as documented in IETF RFC 1341, Section 7.2.1: "Multipart: the common syntax". Simply pass the value of the boundary key from the Content-Type header in the request (or use Multipart::from_request(), if supported).

pub fn read_entry(&mut self) -> Result<Option<MultipartField<&mut Self>>>[src]

Read the next entry from this multipart request, returning a struct with the field's name and data. See MultipartField for more info.

Warning: Risk of Data Loss

If the previously returned entry had contents of type MultipartField::File, calling this again will discard any unread contents of that entry.

pub fn into_entry(self) -> ReadEntryResult<Self>[src]

Read the next entry from this multipart request, returning a struct with the field's name and data. See MultipartField for more info.

pub fn foreach_entry<F>(&mut self, mut foreach: F) -> Result<()> where
    F: FnMut(MultipartField<&mut Self>), 
[src]

Call f for each entry in the multipart request.

This is a substitute for Rust not supporting streaming iterators (where the return value from next() borrows the iterator for a bound lifetime).

Returns Ok(()) when all fields have been read, or the first error.

pub fn save(&mut self) -> SaveBuilder<&mut Self>[src]

Get a builder type for saving the files in this request to the filesystem.

See SaveBuilder for more information.

Trait Implementations

impl<R> Borrow<R> for Multipart<R>[src]

Auto Trait Implementations

impl<R> RefUnwindSafe for Multipart<R> where
    R: RefUnwindSafe
[src]

impl<R> Send for Multipart<R> where
    R: Send
[src]

impl<R> Sync for Multipart<R> where
    R: Sync
[src]

impl<R> Unpin for Multipart<R> where
    R: Unpin
[src]

impl<R> UnwindSafe for Multipart<R> where
    R: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Typeable for T where
    T: Any

impl<T> UnsafeAny for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,