pub struct AcquisitionRequest {Show 14 fields
pub url: String,
pub mode: AcquisitionMode,
pub wait_for_selector: Option<String>,
pub extraction_js: Option<String>,
pub total_timeout: Duration,
pub navigation_timeout: Duration,
pub request_timeout: Duration,
pub html_excerpt_bytes: usize,
pub investigate_start: Option<StrategyUsed>,
pub browserbase_enabled: bool,
pub freshness_contract: Option<FreshnessContract>,
pub replay_defense: Option<ReplayDefenseContext>,
pub transport_realism: Option<TransportRealismContext>,
pub interstitial: Option<InterstitialContext>,
}Expand description
One acquisition request.
Fields§
§url: StringTarget URL.
mode: AcquisitionModeAcquisition mode.
wait_for_selector: Option<String>Optional selector that must be present for browser-stage success.
extraction_js: Option<String>Optional JavaScript extraction expression evaluated in browser stages.
total_timeout: DurationHard wall-clock timeout for the whole acquisition attempt.
Per-navigation timeout for browser stages.
request_timeout: DurationPer-request timeout for HTTP stages.
html_excerpt_bytes: usizeMaximum HTML bytes captured into html_excerpt.
investigate_start: Option<StrategyUsed>Optional policy-guided stage that Investigate mode starts from.
browserbase_enabled: boolOpt into the optional Browserbase-managed stage when available.
freshness_contract: Option<FreshnessContract>Optional previously-captured FreshnessContract for the
sticky identity being reused. When set, the runner evaluates
freshness against this contract before any stage executes.
If the contract is invalid (stale TTL, signature mismatch,
or domain mismatch), the runner short-circuits with a
structured rejection and the
AcquisitionResult::freshness field is populated with the
FreshnessReport describing why.
replay_defense: Option<ReplayDefenseContext>Optional ReplayDefenseContext (T81). When set, the runner
evaluates the policy against the supplied state before any
stage executes. If the decision requires a forced refresh
(rotation due, nonce expired/rotated, or signature drift
with force_reset_on_drift = true), the runner calls
BrowserPool::release_context
to invalidate the sticky session for the target host and
short-circuits with a structured rejection. The full
ReplayDefenseReport is attached to
AcquisitionResult::replay_defense.
transport_realism: Option<TransportRealismContext>Optional TransportRealismContext (T82) — typed
AcquisitionRunner strategy hint. When set, the runner
evaluates the supplied TransportObservation
against the supplied TransportProfile via the
transport-realism scorer and attaches the resulting
TransportRealismReport to
AcquisitionResult::transport_realism. The runner does
not short-circuit on low scores — strategy hints are
observed by downstream policy mapping (T83 / T85 / T89 /
T93), not enforced by the runner itself.
interstitial: Option<InterstitialContext>Optional InterstitialContext (T94) — typed
AcquisitionRunner failure-recovery hint. When set,
the runner classifies the supplied
PageSignature
via the InterstitialRouter
before any stage executes. The resulting
RouterDecision
is attached to AcquisitionResult::interstitial.
When the decision is non-Transient and the
policy’s
short_circuit_on_classified
is true (the default), the runner short-circuits
with a structured
StageFailureKind::InterstitialRouted failure
so the calling layer can dispatch the dedicated
route without burning through the generic ladder.
Trait Implementations§
Source§impl Clone for AcquisitionRequest
impl Clone for AcquisitionRequest
Source§fn clone(&self) -> AcquisitionRequest
fn clone(&self) -> AcquisitionRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more