Struct reqwest::Response [−][src]
A Response to a submitted Request
.
Implementations
impl Response
[src]
pub fn status(&self) -> StatusCode
[src]
Get the StatusCode
of this Response
.
pub fn version(&self) -> Version
[src]
Get the HTTP Version
of this Response
.
pub fn headers(&self) -> &HeaderMap
[src]
Get the Headers
of this Response
.
pub fn headers_mut(&mut self) -> &mut HeaderMap
[src]
Get a mutable reference to the Headers
of this Response
.
pub fn content_length(&self) -> Option<u64>
[src]
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).
pub fn url(&self) -> &Url
[src]
Get the final Url
of this Response
.
pub fn remote_addr(&self) -> Option<SocketAddr>
[src]
Get the remote address used to get this Response
.
pub async fn text(self) -> Result<String>
[src]
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);
pub async fn text_with_charset(self, default_encoding: &str) -> Result<String>
[src]
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);
pub async fn json<T: DeserializeOwned>(self) -> Result<T>
[src]
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
.
pub async fn bytes(self) -> Result<Bytes>
[src]
Get the full response body as Bytes
.
Example
let bytes = reqwest::get("http://httpbin.org/ip") .await? .bytes() .await?; println!("bytes: {:?}", bytes);
pub async fn chunk(&mut self) -> Result<Option<Bytes>>
[src]
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); }
pub fn error_for_status(self) -> Result<Self>
[src]
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) ); } } }
pub fn error_for_status_ref(&self) -> Result<&Self>
[src]
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
impl Debug for Response
[src]
impl<T: Into<Body>> From<Response<T>> for Response
[src]
impl From<Response> for Body
[src]
A Response
can be piped as the Body
of another request.
Auto Trait Implementations
impl !RefUnwindSafe for Response
impl Send for Response
impl Sync for Response
impl Unpin for Response
impl !UnwindSafe for Response
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,