[][src]Trait linkcheck::validation::Context

pub trait Context {
    fn client(&self) -> &Client;
fn filesystem_options(&self) -> &Options; fn url_specific_headers(&self, _url: &Url) -> HeaderMap { ... }
fn cache(&self) -> Option<MutexGuard<Cache>> { ... }
fn concurrency(&self) -> usize { ... }
fn cache_timeout(&self) -> Duration { ... }
fn should_ignore(&self, _link: &Link) -> bool { ... } }

Contextual information that callers can provide to guide the validation process.

Required methods

fn client(&self) -> &Client

The HTTP client to use.

fn filesystem_options(&self) -> &Options

Options to use when checking a link on the filesystem.

Loading content...

Provided methods

fn url_specific_headers(&self, _url: &Url) -> HeaderMap

Get any extra headers that should be sent when checking this Url.

fn cache(&self) -> Option<MutexGuard<Cache>>

An optional cache that can be used to avoid unnecessary network requests.

We need to use internal mutability here because validation is done concurrently. This MutexGuard is guaranteed to be short lived (just the duration of a Cache::insert() or Cache::lookup()), so it's okay to use a std::sync::Mutex instead of futures::lock::Mutex.

fn concurrency(&self) -> usize

How many items should we check at a time?

fn cache_timeout(&self) -> Duration

How long should a cached item be considered valid for before we need to check again?

fn should_ignore(&self, _link: &Link) -> bool

Should this Link be skipped?

Loading content...

Implementors

impl Context for BasicContext[src]

Loading content...