pub enum FailureKind {
Throttled,
Unauthorized,
NotFound,
UnexpectedStatus,
Transport,
Local,
}Expand description
Which category a per-input failure fell into, as a stable machine-readable tag.
This is the field a downstream tool branches on instead of matching prose. The tags are wire-facing, so they are kebab-case and must not be renamed once a consumer reads them — a renamed tag silently stops matching, which is the same class of failure as the prose-matching it replaces.
Variants§
Throttled
The upstream refused to serve content it has. The one recoverable kind: a different network egress can fetch identical bytes.
Our credential is insufficient (401/403). Another egress is refused identically.
NotFound
404 — absent, or present but invisible to this credential.
UnexpectedStatus
A non-2xx nobody wrote an arm for; status carries the code.
Transport
DNS / TLS / timeout — no response arrived at all.
Local
Not an HTTP failure: unsupported input type, missing field, IO, extraction.
Trait Implementations§
Source§impl Clone for FailureKind
impl Clone for FailureKind
Source§fn clone(&self) -> FailureKind
fn clone(&self) -> FailureKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FailureKind
Source§impl Debug for FailureKind
impl Debug for FailureKind
impl Eq for FailureKind
Source§impl PartialEq for FailureKind
impl PartialEq for FailureKind
Source§impl Serialize for FailureKind
impl Serialize for FailureKind
impl StructuralPartialEq for FailureKind
Auto Trait Implementations§
impl Freeze for FailureKind
impl RefUnwindSafe for FailureKind
impl Send for FailureKind
impl Sync for FailureKind
impl Unpin for FailureKind
impl UnsafeUnpin for FailureKind
impl UnwindSafe for FailureKind
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.