Skip to main content

BypassProvider

Trait BypassProvider 

Source
pub trait BypassProvider:
    Send
    + Sync
    + Debug {
    // Required methods
    fn fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        url: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<BypassResponse, CrawlError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn vendor_name(&self) -> &'static str;
}
Expand description

Caller-supplied bypass backend. Implementations are responsible for vendor authentication, request shaping, response decoding, and mapping vendor errors into CrawlError.

Required Methods§

Source

fn fetch<'life0, 'life1, 'async_trait>( &'life0 self, url: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<BypassResponse, CrawlError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Fetch the target URL through the provider, returning a rendered response. The body should be the page HTML as the vendor returns it — the downstream extraction pipeline expects the same shape as a native or chromiumoxide fetch.

Source

fn vendor_name(&self) -> &'static str

Stable, lowercase vendor identifier used for span attributes and metrics labels. Must not change across releases.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§