pub struct ApiErrorBody {
pub message: String,
pub code: OdosErrorCode,
pub trace_id: Option<TraceId>,
}Expand description
Shared payload for API-shaped OdosError variants.
ApiErrorBody collects the fields that are common to every error the Odos
service returns over HTTP — the human-readable message, the strongly-typed
OdosErrorCode, and an optional TraceId for support correspondence.
It is used by both OdosError::Api (status-bearing failures) and
OdosError::RateLimit (retry-after-bearing failures) so the orthogonal
per-variant fields are the only thing those variants carry directly.
The Display impl renders "<message>[ [trace: <id>]]",
which the surrounding variants embed into their own format strings.
Fields§
§message: StringHuman-readable error message returned by the API.
code: OdosErrorCodeStrongly-typed Odos error code.
trace_id: Option<TraceId>Trace ID for support correspondence, if the API returned one.
Trait Implementations§
Source§impl Clone for ApiErrorBody
impl Clone for ApiErrorBody
Source§fn clone(&self) -> ApiErrorBody
fn clone(&self) -> ApiErrorBody
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ApiErrorBody
impl Debug for ApiErrorBody
Auto Trait Implementations§
impl Freeze for ApiErrorBody
impl RefUnwindSafe for ApiErrorBody
impl Send for ApiErrorBody
impl Sync for ApiErrorBody
impl Unpin for ApiErrorBody
impl UnsafeUnpin for ApiErrorBody
impl UnwindSafe for ApiErrorBody
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more