Skip to main content

ResponseValidationError

Struct ResponseValidationError 

Source
pub struct ResponseValidationError { /* private fields */ }
Expand description

A successful HTTP response whose body this SDK could not read.

Reach it through ErrorKind::ResponseValidation. The raw body is kept, so a caller can recover data this version of the SDK does not model.

Implementations§

Source§

impl ResponseValidationError

Source

pub fn field_path(&self) -> &str

The dotted path to the field that was missing or of the wrong type, such as answers.spam.noul.

Empty when the body failed before any field could be named, which is what a syntax error or a document nested too deep gives.

Source

pub fn status(&self) -> StatusCode

The response status, which was a success status.

Source

pub fn headers(&self) -> &HeaderMap

The response headers, as they arrived.

Source

pub fn request_id(&self) -> Option<&str>

The server’s identifier for this request, from x-typesafe-request-id.

The header’s text exactly as it arrived; Display and Debug show it escaped and cut at 128 characters instead.

Source

pub fn endpoint(&self) -> Option<&str>

The method and URL the request went to, without credentials, query or fragment.

Source

pub fn message(&self) -> &str

The sentence for this failure, Invalid response data at '<path>'..

Source

pub fn body(&self) -> &[u8]

The response body, exactly as it arrived.

Source

pub fn body_text(&self) -> Cow<'_, str>

The response body as text, with anything that is not UTF-8 replaced by U+FFFD.

Source

pub fn body_json<'de, T>(&'de self) -> Result<T, DecodeError>
where T: Deserialize<'de>,

The response body, decoded as JSON.

This is how a caller recovers data the SDK’s own response type dropped, including whatever made the decode fail.

§Errors

Returns a DecodeError when the body is not JSON, is nested deeper than this crate’s limit, or does not fit T.

Source

pub fn decode_error(&self) -> &DecodeError

The decode failure underneath, which carries the position as well as the path.

Trait Implementations§

Source§

impl Clone for ResponseValidationError

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResponseValidationError

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Prints what identifies the failure, and nothing that could be a secret; see the note on ApiError’s Debug.

Source§

impl Display for ResponseValidationError

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for ResponseValidationError

Source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ResponseValidationError> for Error

Source§

fn from(error: ResponseValidationError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToCompactString for T
where T: Display,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more