[−][src]Trait isahc::ReadResponseExt
Provides extension methods for consuming HTTP response streams.
Required methods
pub fn copy_to<W: Write>(&mut self, writer: W) -> Result<u64>
[src]
Copy the response body into a writer.
Returns the number of bytes that were written.
Examples
Copying the response into an in-memory buffer:
use isahc::prelude::*; let mut buf = vec![]; isahc::get("https://example.org")?.copy_to(&mut buf)?; println!("Read {} bytes", buf.len());
pub fn text(&mut self) -> Result<String>
[src]
Read the response body as a string.
The encoding used to decode the response body into a string depends on
the response. If the body begins with a Byte Order Mark
(BOM), then UTF-8,
UTF-16LE or UTF-16BE is used as indicated by the BOM. If no BOM is
present, the encoding specified in the charset
parameter of the
Content-Type
header is used if present. Otherwise UTF-8 is assumed.
If the response body contains any malformed characters or characters not
representable in UTF-8, the offending bytes will be replaced with
U+FFFD REPLACEMENT CHARACTER
, which looks like this: �.
This method consumes the entire response body stream and can only be called once.
Availability
This method is only available when the
text-decoding
feature is enabled, which it
is by default.
Examples
use isahc::prelude::*; let text = isahc::get("https://example.org")?.text()?; println!("{}", text);
pub fn json<D>(&mut self) -> Result<D, Error> where
D: DeserializeOwned,
[src]
D: DeserializeOwned,
Deserialize the response body as JSON into a given type.
Availability
This method is only available when the json
feature
is enabled.
Examples
use isahc::prelude::*; use serde_json::Value; let json: Value = isahc::get("https://httpbin.org/json")?.json()?; println!("author: {}", json["slideshow"]["author"]);
Provided methods
pub fn copy_to_file<P: AsRef<Path>>(&mut self, path: P) -> Result<u64>
[src]
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 isahc::prelude::*; isahc::get("https://httpbin.org/image/jpeg")? .copy_to_file("myimage.jpg")?;