pub struct Provider { /* private fields */ }net only.Expand description
Document and script networking over one house client.
Native construction initializes the shared runtime and reactor. Supply a cookie jar for cookie storage and attach a profile cache before sharing the provider with documents.
Implementations§
Source§impl Provider
impl Provider
pub fn new(waker: Option<Arc<dyn NetWaker>>) -> Provider
Sourcepub fn with_user_agent(
waker: Option<Arc<dyn NetWaker>>,
user_agent: &str,
) -> Provider
pub fn with_user_agent( waker: Option<Arc<dyn NetWaker>>, user_agent: &str, ) -> Provider
A provider that identifies itself as user_agent.
The string is sent verbatim on document, subresource and script
requests alike, because a server that decides what to serve from the
User-Agent will do so on every one of them, and a client that agreed
with itself on only some would fetch a page assembled for two different
browsers.
Sourcepub fn user_agent(&self) -> &str
pub fn user_agent(&self) -> &str
What this provider identifies itself as.
pub fn is_empty(&self) -> bool
pub fn count(&self) -> usize
Source§impl Provider
impl Provider
pub fn fetch_with_callback( &self, request: Request, callback: Box<dyn FnOnce(Result<(String, Bytes), ProviderError>) + Sync + Send>, )
pub async fn fetch_async( &self, request: Request, ) -> Result<(String, Bytes), ProviderError>
Sourcepub async fn fetch_response_async(
&self,
request: Request,
) -> Result<FetchResponse, ProviderError>
pub async fn fetch_response_async( &self, request: Request, ) -> Result<FetchResponse, ProviderError>
Fetch, keeping the response metadata that Provider::fetch_async
discards.
HTTP error statuses remain errors on this document-loading API.
FetchProvider instead delivers every HTTP response, including errors.
A data: URL supplies its own Content-Type; a file: URL has none.
impl Provider
The fetch() path.
Separate from Provider::fetch_inner rather than layered on it, and the
reason is the whole point of the trait: fetch_inner returns
(String, Bytes) and turns any non-success status into a ProviderError
that NetProvider::fetch then logs and drops. A caller loading an image
wants exactly that. A fetch() caller wants the 404.
Trait Implementations§
Source§impl FetchProvider for Provider
impl FetchProvider for Provider
fn fetch(&self, request: FetchRequest, handler: Box<dyn FetchHandler>)
Source§impl NetProvider for Provider
impl NetProvider for Provider
fn fetch(&self, doc_id: usize, request: Request, handler: Box<dyn NetHandler>)
Source§fn is_noop(&self) -> bool
fn is_noop(&self) -> bool
DummyNetProvider) that will never
deliver resources. When true, callers must NOT register resources as
“pending critical” — doing so blocks painting forever, since the
completion callback never fires. Used by integrations that feed a
pre-rendered DOM and perform no sub-fetches (e.g. aginxbrowser).Auto Trait Implementations§
impl !Freeze for Provider
impl !RefUnwindSafe for Provider
impl !UnwindSafe for Provider
impl Send for Provider
impl Sync for Provider
impl Unpin for Provider
impl UnsafeUnpin for Provider
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
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