pub struct OobSpec {
pub protocol: OobProtocol,
pub timeout_secs: Option<u64>,
pub policy: OobPolicy,
}Expand description
Out-of-band callback verification configuration.
Fields§
§protocol: OobProtocolCallback protocol the verifier waits for. The service may also touch
other protocols on the same correlation id; only the listed ones count
toward Verified.
timeout_secs: Option<u64>How long to wait for the callback after the HTTP request returns.
Defaults to 30 seconds when omitted; capped at the engine’s
oob_timeout_max to bound scan time.
policy: OobPolicyVerification policy:
OobAndHttp(default): both HTTP success criteria and OOB callback must hold. This is the strict mode for webhook-style detectors where 200 OK is necessary but not sufficient.OobOnly: ignore HTTP success, trust the OOB callback. For detectors where the API has no useful HTTP response shape but provably triggers an outbound request (e.g., one-way push tokens).OobOptional: HTTP success alone verifies; OOB just enriches metadata withoob_observed=true|falsefor the report.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for OobSpec
impl<'de> Deserialize<'de> for OobSpec
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 OobSpec
impl RefUnwindSafe for OobSpec
impl Send for OobSpec
impl Sync for OobSpec
impl Unpin for OobSpec
impl UnsafeUnpin for OobSpec
impl UnwindSafe for OobSpec
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