[][src]Trait chttp::ResponseExt

pub trait ResponseExt<T> {
    fn copy_to(&mut self, writer: impl Write) -> Result<u64>
    where
        T: Read
;
fn text(&mut self) -> Result<String, Error>
    where
        T: Read
;
fn text_async(&mut self) -> Text<T>
    where
        T: AsyncRead + Unpin
;
fn json<D>(&mut self) -> Result<D, Error>
    where
        D: DeserializeOwned,
        T: Read
; fn copy_to_file(&mut self, path: impl AsRef<Path>) -> Result<u64>
    where
        T: Read
, { ... } }

Provides extension methods for working with HTTP responses.

Required methods

fn copy_to(&mut self, writer: impl Write) -> Result<u64> where
    T: Read

Copy the response body into a writer.

Returns the number of bytes that were written.

fn text(&mut self) -> Result<String, Error> where
    T: Read

Get the response body as a string.

This method consumes the entire response body stream and can only be called once, unless you can rewind this response body.

Examples

use chttp::prelude::*;

let text = chttp::get("https://example.org")?.text()?;
println!("{}", text);

fn text_async(&mut self) -> Text<T> where
    T: AsyncRead + Unpin

Get the response body as a string asynchronously.

This method consumes the entire response body stream and can only be called once, unless you can rewind this response body.

fn json<D>(&mut self) -> Result<D, Error> where
    D: DeserializeOwned,
    T: Read

Deserialize the response body as JSON into a given type.

Examples

use chttp::prelude::*;
use serde_json::Value;

let json: Value = chttp::get("https://httpbin.org/json")?.json()?;
println!("author: {}", json["slideshow"]["author"]);
Loading content...

Provided methods

fn copy_to_file(&mut self, path: impl AsRef<Path>) -> Result<u64> where
    T: Read

Write the response body to a file.

This method makes it convenient to download a file using a GET request and write it to a file synchronously in a single chain of calls.

Returns the number of bytes that were written.

Examples

use chttp::prelude::*;

chttp::get("https://httpbin.org/image/jpeg")?
    .copy_to_file("myimage.jpg")?;
Loading content...

Implementors

impl<T> ResponseExt<T> for Response<T>[src]

Loading content...