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§
Sourcefn 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 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.
Sourcefn vendor_name(&self) -> &'static str
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".