pub struct Response {
pub status_code: i32,
pub reason_phrase: String,
pub headers: HashMap<String, String>,
/* private fields */
}
Expand description
An HTTP response.
Returned by Request::send
.
Example
let response = minreq::get("http://example.com").send()?;
println!("{}", response.as_str()?);
Fields§
§status_code: i32
The status code of the response, eg. 404.
reason_phrase: String
The reason phrase of the response, eg. “Not Found”.
headers: HashMap<String, String>
The headers of the response. The header field names (the keys) are all lowercase.
Implementations§
source§impl Response
impl Response
sourcepub fn as_str(&self) -> Result<&str, Error>
pub fn as_str(&self) -> Result<&str, Error>
Returns the body as an &str
.
Errors
Returns
InvalidUtf8InBody
if the body is not UTF-8, with a description as to why the
provided slice is not UTF-8.
Example
let response = minreq::get(url).send()?;
println!("{}", response.as_str()?);
sourcepub fn as_bytes(&self) -> &[u8] ⓘ
pub fn as_bytes(&self) -> &[u8] ⓘ
Returns a reference to the contained bytes of the body. If you
want the Vec<u8>
itself, use
into_bytes()
instead.
Example
let response = minreq::get(url).send()?;
println!("{:?}", response.as_bytes());
sourcepub fn into_bytes(self) -> Vec<u8>
pub fn into_bytes(self) -> Vec<u8>
Turns the Response
into the inner Vec<u8>
, the bytes that
make up the response’s body. If you just need a &[u8]
, use
as_bytes()
instead.
Example
let response = minreq::get(url).send()?;
println!("{:?}", response.into_bytes());
// This would error, as into_bytes consumes the Response:
// let x = response.status_code;
sourcepub fn json<'a, T>(&'a self) -> Result<T, Error>where
T: Deserialize<'a>,
pub fn json<'a, T>(&'a self) -> Result<T, Error>where T: Deserialize<'a>,
Converts JSON body to a struct
using Serde.
Errors
Returns
SerdeJsonError
if
Serde runs into a problem, or
InvalidUtf8InBody
if the body is not UTF-8.
Example
In case compiler cannot figure out return type you might need to declare it explicitly:
use serde::Deserialize;
#[derive(Deserialize)]
struct User {
name: String,
email: String,
}
let user_name = minreq::get(url_to_json_resource).send()?
.json::<User>()? // explicitly declared type `User`
.name;
println!("User name is '{}'", &user_name);