pub enum InterstitialRoute {
WaitAndRetry {
interval: Duration,
max_retries: u32,
queue_position: Option<u32>,
},
ChallengeSolve {
vendor_hint: Option<String>,
allowed_strategies: Vec<StrategyUsed>,
solve_budget: Duration,
},
HardBlock {
escalate_to: StrategyUsed,
rotate_session: bool,
refresh_sticky: bool,
},
Transient {
follow_redirect: bool,
max_hops: u32,
},
}Expand description
Dedicated acquisition route per InterstitialKind.
Each variant carries the per-kind tunables. The route is
purely declarative — the actual acquisition ladder
adjustment is done by the calling layer (or by the
runner, when
InterstitialPolicy::short_circuit_on_classified is
true).
Variants§
WaitAndRetry
Wait interval for up to max_retries attempts.
Carries the optional queue_position (e.g. “you are
#5 in line”) so the caller can scale the wait by the
position.
Fields
ChallengeSolve
Escalate to a challenge-solving strategy with the
given solve_budget. The optional vendor_hint
narrows the strategy (e.g. cloudflare,
perimeterx).
Fields
vendor_hint: Option<String>Optional vendor hint extracted from the page
markers (e.g. cloudflare, akamai).
allowed_strategies: Vec<StrategyUsed>Strategies the caller may attempt.
HardBlock
Terminal vendor block. Escalate to
escalate_to, optionally rotate the proxy session,
and optionally invalidate the sticky pool context.
Fields
escalate_to: StrategyUsedStrategy to escalate to.
Transient
Follow up to max_hops redirect hops and then
re-classify the result.
Implementations§
Trait Implementations§
Source§impl Clone for InterstitialRoute
impl Clone for InterstitialRoute
Source§fn clone(&self) -> InterstitialRoute
fn clone(&self) -> InterstitialRoute
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 InterstitialRoute
impl Debug for InterstitialRoute
Source§impl<'de> Deserialize<'de> for InterstitialRoute
impl<'de> Deserialize<'de> for InterstitialRoute
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>,
impl Eq for InterstitialRoute
Source§impl PartialEq for InterstitialRoute
impl PartialEq for InterstitialRoute
Source§fn eq(&self, other: &InterstitialRoute) -> bool
fn eq(&self, other: &InterstitialRoute) -> bool
self and other values to be equal, and is used by ==.