pub struct ApiError<E> {
pub status: u16,
pub headers: HeaderMap,
pub body: String,
pub typed: Option<E>,
pub parse_error: Option<String>,
}Expand description
Envelope for an API response we received but couldn’t (or didn’t) treat as success.
ApiError<E> is returned whenever the server actually responded — whether the
status was non-2xx, or the 2xx body failed to deserialize into the expected
type. status, headers, and body are always populated so callers can
inspect what the server actually sent without having to hack the generated
client. typed is Some(_) when the raw body was successfully parsed into a
per-operation error type; parse_error records why parsing failed when not.
Fields§
§status: u16§headers: HeaderMap§body: String§typed: Option<E>§parse_error: Option<String>Implementations§
Source§impl<E> ApiError<E>
impl<E> ApiError<E>
pub fn is_client_error(&self) -> bool
pub fn is_server_error(&self) -> bool
Trait Implementations§
Source§impl<E: Debug> Error for ApiError<E>
impl<E: Debug> Error for ApiError<E>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl<E> Freeze for ApiError<E>where
E: Freeze,
impl<E> RefUnwindSafe for ApiError<E>where
E: RefUnwindSafe,
impl<E> Send for ApiError<E>where
E: Send,
impl<E> Sync for ApiError<E>where
E: Sync,
impl<E> Unpin for ApiError<E>where
E: Unpin,
impl<E> UnsafeUnpin for ApiError<E>where
E: UnsafeUnpin,
impl<E> UnwindSafe for ApiError<E>where
E: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> ValidateIp for Twhere
T: ToString,
impl<T> ValidateIp for Twhere
T: ToString,
Source§fn validate_ipv4(&self) -> bool
fn validate_ipv4(&self) -> bool
Validates whether the given string is an IP V4
Source§fn validate_ipv6(&self) -> bool
fn validate_ipv6(&self) -> bool
Validates whether the given string is an IP V6
Source§fn validate_ip(&self) -> bool
fn validate_ip(&self) -> bool
Validates whether the given string is an IP