Struct Response
pub struct Response { /* private fields */ }
A Response to a submitted Request.
Implementations
impl Response
fn status(&self) -> StatusCodeGet the
StatusCodeof thisResponse.fn version(&self) -> VersionGet the HTTP
Versionof thisResponse.fn headers(&self) -> &HeaderMapGet the
Headersof thisResponse.fn headers_mut(&mut self) -> &mut HeaderMapGet a mutable reference to the
Headersof thisResponse.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 url(&self) -> &UrlGet the final
Urlof thisResponse.fn remote_addr(&self) -> Option<SocketAddr>Get the remote address used to get this
Response.fn extensions(&self) -> &ExtensionsReturns a reference to the associated extensions.
fn extensions_mut(&mut self) -> &mut ExtensionsReturns a mutable reference to the associated extensions.
async fn text(self) -> Result<String>Get the full 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 that the BOM is stripped from the returned String.
Note
If the
charsetfeature is disabled the method will only attempt to decode the response as UTF-8, regardless of the givenContent-TypeExample
# asyncasync fn text_with_charset(self, default_encoding: &str) -> Result<String>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
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.Note that the BOM is stripped from the returned String.
Optional
This requires the optional
encoding_rsfeature enabled.Example
# asyncasync fn json<T: DeserializeOwned>(self) -> Result<T>Try to deserialize the response body as JSON.
Optional
This requires the optional
jsonfeature enabled.Examples
# extern crate reqwest; # extern crate serde; # # use Error; # use Deserialize; # // This `derive` requires the `serde` dependency. # async # #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.async fn bytes(self) -> Result<Bytes>Get the full response body as
Bytes.Example
# asyncasync fn chunk(&mut self) -> Result<Option<Bytes>>Stream a chunk of the response body.
When the response body has been exhausted, this will return
None.Example
# asyncfn bytes_stream(self) -> impl Stream<Item = Result<Bytes>>Convert the response into a
StreamofBytesfrom the body.Example
use StreamExt; # asyncOptional
This requires the optional
streamfeature to be enabled.fn error_for_status(self) -> Result<Self>Turn a response into an error if the server returned an error.
Example
# use Response; #fn error_for_status_ref(&self) -> Result<&Self>Turn a reference to a response into an error if the server returned an error.
Example
# use Response; #
impl Response
async fn upgrade(self) -> Result<Upgraded>Consumes the response and returns a future for a possible HTTP upgrade.
Trait Implementations
impl Debug for Response
fn fmt(&self, f: &mut Formatter<'_>) -> Result
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>