pub enum PreconditionBlock {
AuthGateBeforeTechnique {
credential_state: CredentialBlockKind,
layer: AuthBlockLayer,
},
MethodGateBeforeResource,
BlockedByParser,
ApplicabilityMarkerMissing,
SurfaceMismatch,
MutationDestroyedControl,
}Expand description
Structured reason a Contradictory outcome was downgraded.
Carried in Inapplicable(reason) to give operators an actionable diagnosis instead of an
opaque “no signal.”
Variants§
AuthGateBeforeTechnique
Auth gate fired before the technique reached the oracle layer. Carries the credential state (why the credential failed) and the layer at which the gate fired.
Fields
credential_state: CredentialBlockKindWhy the credential failed or was not provided.
layer: AuthBlockLayerLayer at which the auth block fired.
MethodGateBeforeResource
Both responses were 405 — method-level rejection before resource lookup.
BlockedByParser
Both responses were 4xx parser/validator rejection and the technique is downstream of parse.
ApplicabilityMarkerMissing
Required applicability marker absent (e.g. ETag missing for If-None-Match).
SurfaceMismatch
Differential observed on a surface this technique does not test (e.g. body/headers differ on a Status-surface technique).
MutationDestroyedControl
Route-mutating technique broke baseline routing — canonical 2xx with mutated baseline non-2xx, or canonical 301/308 (server canonicalized away from the mutated path).
Implementations§
Source§impl PreconditionBlock
impl PreconditionBlock
Sourcepub fn block_family(self) -> BlockFamily
pub fn block_family(self) -> BlockFamily
Coarse block family used for observability classification.
Trait Implementations§
Source§impl Clone for PreconditionBlock
impl Clone for PreconditionBlock
Source§fn clone(&self) -> PreconditionBlock
fn clone(&self) -> PreconditionBlock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PreconditionBlock
impl Debug for PreconditionBlock
Source§impl PartialEq for PreconditionBlock
impl PartialEq for PreconditionBlock
Source§fn eq(&self, other: &PreconditionBlock) -> bool
fn eq(&self, other: &PreconditionBlock) -> bool
self and other values to be equal, and is used by ==.impl Copy for PreconditionBlock
impl Eq for PreconditionBlock
impl StructuralPartialEq for PreconditionBlock
Auto Trait Implementations§
impl Freeze for PreconditionBlock
impl RefUnwindSafe for PreconditionBlock
impl Send for PreconditionBlock
impl Sync for PreconditionBlock
impl Unpin for PreconditionBlock
impl UnsafeUnpin for PreconditionBlock
impl UnwindSafe for PreconditionBlock
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
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.