Skip to main content

DiscoveryRule

Struct DiscoveryRule 

Source
pub struct DiscoveryRule {
    pub name: String,
    pub allow_patterns: Vec<String>,
    pub deny_patterns: Vec<String>,
    pub allow_domains: Vec<String>,
    pub deny_domains: Vec<String>,
    pub allow_path_prefixes: Vec<String>,
    pub deny_path_prefixes: Vec<String>,
    pub link_extract_options: LinkExtractOptions,
}
Expand description

Rule-like configuration for runtime-managed discovery.

Fields§

§name: String

Stable rule name injected into request/response metadata when matched.

§allow_patterns: Vec<String>

URL patterns that the source response must match.

§deny_patterns: Vec<String>

URL patterns that exclude the source response.

§allow_domains: Vec<String>

Domains or subdomains allowed for the source response.

§deny_domains: Vec<String>

Domains or subdomains denied for the source response.

§allow_path_prefixes: Vec<String>

Path prefixes allowed for the source response.

§deny_path_prefixes: Vec<String>

Path prefixes denied for the source response.

§link_extract_options: LinkExtractOptions

Link extraction behavior used when the rule matches.

Implementations§

Source§

impl DiscoveryRule

Source

pub fn new(name: impl Into<String>) -> Self

Creates a new discovery rule with the provided name.

Replaces the link extraction options used by this rule.

Source

pub fn with_allow_patterns( self, patterns: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts this rule to source response URLs that match at least one pattern.

Source

pub fn with_deny_patterns( self, patterns: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes this rule for source response URLs that match any pattern.

Source

pub fn with_allow_domains( self, domains: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts this rule to source response domains or subdomains.

Source

pub fn with_deny_domains( self, domains: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes this rule for source response domains or subdomains.

Source

pub fn with_allow_path_prefixes( self, prefixes: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts this rule to source response paths with one of the provided prefixes.

Source

pub fn with_deny_path_prefixes( self, prefixes: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes this rule for source response paths with one of the provided prefixes.

Source

pub fn with_same_site_only(self, enabled: bool) -> Self

Sets whether only same-site links should be extracted for matching responses.

Sets whether text content should be scanned for plain-text URLs.

Source

pub fn with_follow_allow_patterns( self, patterns: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts discovered follow-up links to matching patterns.

Source

pub fn with_follow_deny_patterns( self, patterns: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes discovered follow-up links that match the given patterns.

Source

pub fn with_follow_allow_domains( self, domains: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts discovered follow-up links to the given domains or subdomains.

Source

pub fn with_follow_deny_domains( self, domains: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes discovered follow-up links for the given domains or subdomains.

Source

pub fn with_follow_allow_path_prefixes( self, prefixes: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts discovered follow-up links to the provided path prefixes.

Source

pub fn with_follow_deny_path_prefixes( self, prefixes: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Excludes discovered follow-up links for the provided path prefixes.

Source

pub fn with_allowed_tags( self, tags: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts attribute extraction to specific HTML tags for matching responses.

Source

pub fn with_allowed_attributes( self, attributes: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restricts attribute extraction to specific HTML attributes for matching responses.

Restricts discovered follow-up links to the provided link types.

Excludes the provided link types from discovered follow-up links.

Trait Implementations§

Source§

impl Clone for DiscoveryRule

Source§

fn clone(&self) -> DiscoveryRule

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DiscoveryRule

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DiscoveryRule

Source§

fn eq(&self, other: &DiscoveryRule) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for DiscoveryRule

Source§

impl StructuralPartialEq for DiscoveryRule

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more