Struct reqwest::Response [−][src]
pub struct Response { /* fields omitted */ }
Expand description
A Response to a submitted Request
.
Implementations
Get the StatusCode
of this Response
.
Get a mutable reference to the Headers
of this Response
.
Get the content-length of this response, if known.
Reasons it may not be known:
- The server didn’t send a
content-length
header. - The response is compressed and automatically decoded (thus changing the actual decoded length).
This is supported on crate feature cookies
only.
cookies
only.Retrieve the cookies contained in the response.
Note that invalid ‘Set-Cookie’ headers will be ignored.
Optional
This requires the optional cookies
feature to be enabled.
Get the remote address used to get this Response
.
Get the full response text.
This method decodes the response body with BOM sniffing
and with malformed sequences replaced with the REPLACEMENT CHARACTER.
Encoding is determinated from the charset
parameter of Content-Type
header,
and defaults to utf-8
if not presented.
Example
let content = reqwest::get("http://httpbin.org/range/26")
.await?
.text()
.await?;
println!("text: {:?}", content);
Get the full response text given a specific encoding.
This method decodes the response body with BOM sniffing
and with malformed sequences replaced with the REPLACEMENT CHARACTER.
You can provide a default encoding for decoding the raw message, while the
charset
parameter of Content-Type
header is still prioritized. For more information
about the possible encoding name, please go to encoding_rs
docs.
Example
let content = reqwest::get("http://httpbin.org/range/26")
.await?
.text_with_charset("utf-8")
.await?;
println!("text: {:?}", content);
This is supported on crate feature json
only.
json
only.Try to deserialize the response body as JSON.
Optional
This requires the optional json
feature enabled.
Examples
// This `derive` requires the `serde` dependency.
#[derive(Deserialize)]
struct Ip {
origin: String,
}
let ip = reqwest::get("http://httpbin.org/ip")
.await?
.json::<Ip>()
.await?;
println!("ip: {}", ip.origin);
Errors
This method fails whenever the response body is not in JSON format
or it cannot be properly deserialized to target type T
. For more
details please see serde_json::from_reader
.
Get the full response body as Bytes
.
Example
let bytes = reqwest::get("http://httpbin.org/ip")
.await?
.bytes()
.await?;
println!("bytes: {:?}", bytes);
Stream a chunk of the response body.
When the response body has been exhausted, this will return None
.
Example
let mut res = reqwest::get("https://hyper.rs").await?;
while let Some(chunk) = res.chunk().await? {
println!("Chunk: {:?}", chunk);
}
This is supported on crate feature stream
only.
stream
only.Convert the response into a Stream
of Bytes
from the body.
Example
use futures_util::StreamExt;
let mut stream = reqwest::get("http://httpbin.org/ip")
.await?
.bytes_stream();
while let Some(item) = stream.next().await {
println!("Chunk: {:?}", item?);
}
Optional
This requires the optional stream
feature to be enabled.
Turn a response into an error if the server returned an error.
Example
fn on_response(res: Response) {
match res.error_for_status() {
Ok(_res) => (),
Err(err) => {
// asserting a 400 as an example
// it could be any status between 400...599
assert_eq!(
err.status(),
Some(reqwest::StatusCode::BAD_REQUEST)
);
}
}
}
Turn a reference to a response into an error if the server returned an error.
Example
fn on_response(res: &Response) {
match res.error_for_status_ref() {
Ok(_res) => (),
Err(err) => {
// asserting a 400 as an example
// it could be any status between 400...599
assert_eq!(
err.status(),
Some(reqwest::StatusCode::BAD_REQUEST)
);
}
}
}
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Response
impl !UnwindSafe for Response
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more