pub struct VerificationEngine { /* private fields */ }Expand description
Live-verification engine with shared client, cache, and concurrency limits.
Implementations§
Source§impl VerificationEngine
impl VerificationEngine
Sourcepub fn new(
detectors: &[DetectorSpec],
config: VerifyConfig,
) -> Result<Self, VerifyError>
pub fn new( detectors: &[DetectorSpec], config: VerifyConfig, ) -> Result<Self, VerifyError>
Create a verifier with shared HTTP client, cache, and concurrency controls.
Sourcepub async fn verify_all(
&self,
groups: Vec<DedupedMatch>,
) -> Vec<VerifiedFinding>
pub async fn verify_all( &self, groups: Vec<DedupedMatch>, ) -> Vec<VerifiedFinding>
Verify a batch of deduplicated raw matches in parallel.
Sourcepub async fn enable_oob(
&mut self,
config: OobConfig,
) -> Result<(), InteractshError>
pub async fn enable_oob( &mut self, config: OobConfig, ) -> Result<(), InteractshError>
Enable out-of-band callback verification for detectors with
[detector.verify.oob]. Registers a fresh interactsh session against
the configured collector and starts the polling loop. Subsequent
verify_all calls will mint per-finding callback URLs and combine
HTTP success criteria with OOB observations per the detector’s policy.
Idempotent: a second call replaces the previous session (the old one is shut down). Errors here do not abort the engine — call sites log + continue with OOB disabled rather than failing the whole scan.
Sourcepub async fn shutdown_oob(&mut self)
pub async fn shutdown_oob(&mut self)
Tear down the OOB session if one is active. Idempotent. Call before dropping the engine to deregister cleanly with the collector.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VerificationEngine
impl !RefUnwindSafe for VerificationEngine
impl Send for VerificationEngine
impl Sync for VerificationEngine
impl Unpin for VerificationEngine
impl UnsafeUnpin for VerificationEngine
impl !UnwindSafe for VerificationEngine
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> 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>
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>
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