pub(crate) struct ValidationProblem {
errors: BTreeMap<String, Vec<ValidationError>>,
}Expand description
The subset of the server’s RFC 7807 validation problem needed to extract error codes.
Fields§
§errors: BTreeMap<String, Vec<ValidationError>>Implementations§
Source§impl ValidationProblem
impl ValidationProblem
Sourcepub(crate) fn from_api_error(error: &ApiError) -> Option<Self>
pub(crate) fn from_api_error(error: &ApiError) -> Option<Self>
Parses the validation problem carried by an API error, or returns None if the error is not
a 400 response with a validation problem body (e.g. a transport error, another status, or
the legacy error format).
Sourcepub(crate) fn into_first_error(self) -> Option<ValidationError>
pub(crate) fn into_first_error(self) -> Option<ValidationError>
Returns the first error in the problem, or None if it carries no errors.
Properties are visited in alphabetical order, so the result is deterministic when the server reports errors under more than one property.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ValidationProblem
impl<'de> Deserialize<'de> for ValidationProblem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ValidationProblem
impl RefUnwindSafe for ValidationProblem
impl Send for ValidationProblem
impl Sync for ValidationProblem
impl Unpin for ValidationProblem
impl UnsafeUnpin for ValidationProblem
impl UnwindSafe for ValidationProblem
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> CompatExt for T
impl<T> CompatExt for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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