[][src]Struct multipart::client::lazy::Multipart

pub struct Multipart<'n, 'd> { /* fields omitted */ }

A multipart request which writes all fields at once upon being provided an output stream.

Sacrifices static dispatch for support for dynamic construction. Reusable.

Lifetimes

  • 'n: Lifetime for field names; will only escape this struct in LazyIoError<'n>.
  • 'd: Lifetime for data: will only escape this struct in PreparedFields<'d>.

Methods

impl<'n, 'd> Multipart<'n, 'd>
[src]

pub fn client_request<U: IntoUrl>(
    &mut self,
    client: &Client,
    url: U
) -> HyperResult<Response>
[src]

Feature: hyper

Complete a POST request with the given hyper::client::Client and URL.

Supplies the fields in the body, optionally setting the content-length header if applicable (all added fields were text or files, i.e. no streams).

pub fn client_request_mut<U: IntoUrl, F: FnOnce(RequestBuilder) -> RequestBuilder>(
    &mut self,
    client: &Client,
    url: U,
    mut_fn: F
) -> HyperResult<Response>
[src]

Feature: hyper

Complete a POST request with the given hyper::client::Client and URL; allows mutating the hyper::client::RequestBuilder via the passed closure.

Note that the body, and the ContentType and ContentLength headers will be overwritten, either by this method or by Hyper.

impl<'n, 'd> Multipart<'n, 'd>
[src]

pub fn new() -> Self
[src]

Initialize a new lazy dynamic request.

pub fn add_text<N, T>(&mut self, name: N, text: T) -> &mut Self where
    N: Into<Cow<'n, str>>,
    T: Into<Cow<'d, str>>, 
[src]

Add a text field to this request.

pub fn add_file<N, P>(&mut self, name: N, path: P) -> &mut Self where
    N: Into<Cow<'n, str>>,
    P: IntoCowPath<'d>, 
[src]

Add a file field to this request.

Note

Does not check if path exists.

pub fn add_stream<N, R, F>(
    &mut self,
    name: N,
    stream: R,
    filename: Option<F>,
    mime: Option<Mime>
) -> &mut Self where
    N: Into<Cow<'n, str>>,
    R: Read + 'd,
    F: Into<Cow<'n, str>>, 
[src]

Add a generic stream field to this request,

pub fn send<R: HttpRequest>(
    &mut self,
    req: R
) -> Result<<R::Stream as HttpStream>::Response, LazyError<'n, <R::Stream as HttpStream>::Error>>
[src]

Convert req to HttpStream, write out the fields in this request, and finish the request, returning the response if successful, or the first error encountered.

If any files were added by path they will now be opened for reading.

pub fn prepare(&mut self) -> LazyIoResult<'n, PreparedFields<'d>>
[src]

Export the multipart data contained in this lazy request as an adaptor which implements Read.

During this step, if any files were added by path then they will be opened for reading and their length measured.

Trait Implementations

impl<'n, 'd> Default for Multipart<'n, 'd>
[src]

impl<'n, 'd> Debug for Multipart<'n, 'd>
[src]

Auto Trait Implementations

impl<'n, 'd> !Send for Multipart<'n, 'd>

impl<'n, 'd> !Sync for Multipart<'n, 'd>

Blanket Implementations

impl<T> From for T
[src]

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

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.

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

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

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.

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

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> UnsafeAny for T where
    T: Any