Trait isahc::ResponseExt [−][src]
Provides extension methods for working with HTTP responses.
Required methods
fn effective_uri(&self) -> Option<&Uri>
[src]
Get the effective URI of this response. This value differs from the original URI provided when making the request if at least one redirect was followed.
This information is only available if populated by the HTTP client that produced the response.
fn local_addr(&self) -> Option<SocketAddr>
[src]
Get the local socket address of the last-used connection involved in this request, if known.
Multiple connections may be involved in a request, such as with redirects.
This method only makes sense with a normal Internet request. If some
other kind of transport is used to perform the request, such as a Unix
socket, then this method will return None
.
fn remote_addr(&self) -> Option<SocketAddr>
[src]
Get the remote socket address of the last-used connection involved in this request, if known.
Multiple connections may be involved in a request, such as with redirects.
This method only makes sense with a normal Internet request. If some
other kind of transport is used to perform the request, such as a Unix
socket, then this method will return None
.
Addresses and proxies
The address returned by this method is the IP address and port that the client connected to and not necessarily the real address of the origin server. Forward and reverse proxies between the caller and the server can cause the address to be returned to reflect the address of the nearest proxy rather than the server.
fn metrics(&self) -> Option<&Metrics>
[src]
If request metrics are enabled for this particular transfer, return a metrics object containing a live view of currently available data.
By default metrics are disabled and None
will be returned. To enable
metrics you can use
Configurable::metrics
.
fn copy_to(&mut self, writer: impl Write) -> Result<u64> where
T: Read,
[src]
T: Read,
Copy the response body into a writer.
Returns the number of bytes that were written.
fn text(&mut self) -> Result<String> where
T: Read,
[src]
T: Read,
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);
fn text_async(&mut self) -> TextFuture<'_, &mut T> where
T: AsyncRead + Unpin,
[src]
T: AsyncRead + Unpin,
Read the response body as a string asynchronously.
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.
Provided methods
fn copy_to_file(&mut self, path: impl AsRef<Path>) -> Result<u64> where
T: Read,
[src]
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 isahc::prelude::*; isahc::get("https://httpbin.org/image/jpeg")? .copy_to_file("myimage.jpg")?;
Implementations on Foreign Types
impl<T> ResponseExt<T> for Response<T>
[src]
fn effective_uri(&self) -> Option<&Uri>
[src]
fn local_addr(&self) -> Option<SocketAddr>
[src]
fn remote_addr(&self) -> Option<SocketAddr>
[src]
fn metrics(&self) -> Option<&Metrics>
[src]
fn copy_to(&mut self, writer: impl Write) -> Result<u64> where
T: Read,
[src]
T: Read,
fn text(&mut self) -> Result<String> where
T: Read,
[src]
T: Read,
fn text_async(&mut self) -> TextFuture<'_, &mut T> where
T: AsyncRead + Unpin,
[src]
T: AsyncRead + Unpin,