pub struct Response {
pub status_code: i32,
pub reason_phrase: String,
pub headers: HashMap<String, String>,
pub url: 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.
url: String
The URL of the resource returned in this response. May differ from the request URL if it was redirected or typo corrections were applied (e.g. http://example.com?foo=bar would be corrected to http://example.com/?foo=bar).
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_json::Value;
// Value could be any type that implements Deserialize!
let user = minreq::get(url_to_json_resource).send()?.json::<Value>()?;
println!("User name is '{}'", user["name"]);