Struct Response
pub struct Response { /* private fields */ }
A Response to a submitted Request.
Implementations
impl Response
fn status(&self) -> StatusCodeGet the
StatusCodeof thisResponse.Examples
Checking for general status class:
# #Checking for specific status codes:
use Client; use StatusCode; #fn headers(&self) -> &HeaderMapGet the
Headersof thisResponse.Example
Saving an etag when caching a file:
use Client; use ETAG; #fn headers_mut(&mut self) -> &mut HeaderMapGet a mutable reference to the
Headersof thisResponse.fn version(&self) -> VersionGet the HTTP
Versionof thisResponse.fn url(&self) -> &UrlGet the final
Urlof thisResponse.Example
#fn remote_addr(&self) -> Option<SocketAddr>Get the remote address used to get this
Response.Example
#fn extensions(&self) -> &ExtensionsReturns a reference to the associated extensions.
fn extensions_mut(&mut self) -> &mut ExtensionsReturns a mutable reference to the associated extensions.
fn content_length(&self) -> Option<u64>Get the content length of the response, if it is known.
This value does not directly represents the value of the
Content-Lengthheader, but rather the size of the response's body. To read the header's value, please use theResponse::headersmethod instead.Reasons it may not be known:
- The response does not include a body (e.g. it responds to a
HEADrequest). - The response is gzipped and automatically decoded (thus changing the actual decoded length).
- The response does not include a body (e.g. it responds to a
fn json<T: DeserializeOwned>(self) -> Result<T>Try and deserialize the response body as JSON using
serde.Optional
This requires the optional
jsonfeature enabled.Examples
# extern crate reqwest; # extern crate serde; # # use Error; # use Deserialize; # // This `derive` requires the `serde` dependency. # # #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 seeserde_json::from_reader.fn bytes(self) -> Result<Bytes>Get the full response body as
Bytes.Example
#fn text(self) -> Result<String>Get the response text.
This method decodes the response body with BOM sniffing and with malformed sequences replaced with the
char::REPLACEMENT_CHARACTER. Encoding is determined from thecharsetparameter ofContent-Typeheader, and defaults toutf-8if not presented.Note
If the
charsetfeature is disabled the method will only attempt to decode the response as UTF-8, regardless of the givenContent-TypeExample
# extern crate reqwest; #fn text_with_charset(self, default_encoding: &str) -> Result<String>Get the response text given a specific encoding.
This method decodes the response body with BOM sniffing and with malformed sequences replaced with the
char::REPLACEMENT_CHARACTER. You can provide a default encoding for decoding the raw message, while thecharsetparameter ofContent-Typeheader is still prioritized. For more information about the possible encoding name, please go toencoding_rsdocs.Optional
This requires the optional
charsetfeature enabled.Example
# extern crate reqwest; #fn copy_to<W>(&mut self, w: &mut W) -> Result<u64> where W: Write + ?Sized,Copy the response body into a writer.
This function internally uses
std::io::copyand hence will continuously read data from the body and then write it into writer in a streaming fashion until EOF is met.On success, the total number of bytes that were copied to
writeris returned.Example
#fn error_for_status(self) -> Result<Self>Turn a response into an error if the server returned an error.
Example
# extern crate reqwest; # #fn error_for_status_ref(&self) -> Result<&Self>Turn a reference to a response into an error if the server returned an error.
Example
# extern crate reqwest; # #
Trait Implementations
impl Debug for Response
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Read for Response
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
impl<T: Into<Body>> From<Response<T>> for Response
fn from(r: Response<T>) -> Response
Auto Trait Implementations
impl !RefUnwindSafe for Response
impl !UnwindSafe for Response
impl Freeze for Response
impl Send for Response
impl Sync for Response
impl Unpin for Response
impl UnsafeUnpin for Response
Blanket Implementations
impl<T> Any for Response
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Response
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Response
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Response
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Instrument for Response
impl<T> PolicyExt for Response
where
T: ?Sized,
fn and<P, B, E>(self, other: P) -> And<T, P> where T: Sized + Policy<B, E>, P: Policy<B, E>,fn or<P, B, E>(self, other: P) -> Or<T, P> where T: Sized + Policy<B, E>, P: Policy<B, E>,
impl<T> WithSubscriber for Response
impl<T, U> Into<U> for Response
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Response
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Response
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>