pub struct HeadlessConfig {
pub backend: BrowserBackend,
pub max_tabs: usize,
pub browser_path: Option<String>,
pub auto_download_moli: bool,
pub moli_version: Option<String>,
pub moli_sha256: Option<String>,
pub moli_cache_dir: Option<PathBuf>,
pub moli_download_timeout_secs: u64,
pub launch_args: Vec<String>,
pub proxy_url: Option<String>,
}Expand description
Headless browser configuration for JS-rendered search engines.
Moli is the default backend. When it is selected and no executable is configured or packaged, A3S Code downloads the pinned, digest-verified runtime into the user cache on first use.
Fields§
§backend: BrowserBackendBrowser backend to use.
max_tabs: usizeMaximum number of concurrent browser tabs.
browser_path: Option<String>Path to the browser executable. If None, Moli is discovered/downloaded or an explicit Chrome/Lightpanda runtime is discovered.
auto_download_moli: boolDownload Moli automatically when the selected backend is Moli and no usable executable is already available.
moli_version: Option<String>Optional pinned Moli release version. Defaults to the version bundled by this A3S Code release.
moli_sha256: Option<String>Optional SHA-256 digest for the pinned Moli archive. Supplying a version without its digest is rejected by the runtime manager.
moli_cache_dir: Option<PathBuf>Optional cache directory for the managed Moli runtime.
moli_download_timeout_secs: u64Maximum time in seconds spent provisioning a missing Moli runtime. This budget is separate from the per-request web-search timeout so a first-use download does not make the default search path unusable.
launch_args: Vec<String>Additional browser launch arguments.
proxy_url: Option<String>Proxy URL for the browser to use.
Trait Implementations§
Source§impl Clone for HeadlessConfig
impl Clone for HeadlessConfig
Source§fn clone(&self) -> HeadlessConfig
fn clone(&self) -> HeadlessConfig
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 HeadlessConfig
impl Debug for HeadlessConfig
Source§impl Default for HeadlessConfig
impl Default for HeadlessConfig
Source§impl<'de> Deserialize<'de> for HeadlessConfig
impl<'de> Deserialize<'de> for HeadlessConfig
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>,
Auto Trait Implementations§
impl Freeze for HeadlessConfig
impl RefUnwindSafe for HeadlessConfig
impl Send for HeadlessConfig
impl Sync for HeadlessConfig
impl Unpin for HeadlessConfig
impl UnsafeUnpin for HeadlessConfig
impl UnwindSafe for HeadlessConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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