[][src]Struct async_google_apis_common::Download

pub struct Download<'a, Request, Response> { /* fields omitted */ }

An ongoing download.

Note that this does not necessarily result in a download. It is returned by all API methods that are capable of downloading data. Whether a download takes place is determined by the Content-Type sent by the server; frequently, the parameters sent in the request determine whether the server starts a download (Content-Type: whatever) or sends a response (Content-Type: application/json).

Implementations

impl<'a, Request: Serialize + Debug, Response: DeserializeOwned + Debug> Download<'a, Request, Response>[src]

pub async fn do_it_to_buf<'_, '_>(
    &'_ mut self,
    buf: &'_ mut Vec<u8>
) -> Result<DownloadResult<Response>>
[src]

Trivial adapter for download(): Store downloaded data into a Vec<u8>.

pub async fn do_it<'_, '_>(
    &'_ mut self,
    dst: Option<&'_ mut (dyn AsyncWrite + Unpin)>
) -> Result<DownloadResult<Response>>
[src]

Run the actual download, streaming the response into the supplied dst. If the server responded with a Response object, no download is started; the response is wrapped in the DownloadResult<Response> object.

Whether a download takes place or you receive a structured Response (i.e. a JSON object) depends on the Content-Type sent by the server. It is an error to attempt a download without specifying dst. Often, whether a download takes place is influenced by the request parameters. For example, alt = media is frequently used in Google APIs to indicate that a download is expected.

Auto Trait Implementations

impl<'a, Request, Response> !RefUnwindSafe for Download<'a, Request, Response>

impl<'a, Request, Response> Send for Download<'a, Request, Response> where
    Request: Sync,
    Response: Send

impl<'a, Request, Response> Sync for Download<'a, Request, Response> where
    Request: Sync,
    Response: Sync

impl<'a, Request, Response> Unpin for Download<'a, Request, Response> where
    Response: Unpin

impl<'a, Request, Response> !UnwindSafe for Download<'a, Request, Response>

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> Instrument 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.