Struct ExprGroup

Source
pub struct ExprGroup { /* private fields */ }
Expand description

Logical grouping of Expression instances.

Associates a list Condition instances that guard rewrites defined by Rule.

Implementations§

Source§

impl ExprGroup

Source

pub fn new(expressions: Vec<Expression>) -> Self

Build a new ExprGroup instance from the specified list of Expression instances.

This should contains all rules related to one another with Condition instances leading into Rule instances after.

Source

pub fn max_iterations(self, iterations: usize) -> Self

Configure max number of loops over entire ruleset during rewrite before error

Default is 10

Source

pub fn match_conditions(&self, ctx: &mut EngineCtx<'_>) -> bool

Check all relevant Condition expressions are met.

This method guards ExprGroup::rewrite.

Source

pub fn rewrite(&self, uri: String) -> Result<Rewrite, EngineError>

Evaluate the given URI against the configured Rule definitions and generate a Rewrite response.

Trait Implementations§

Source§

impl Debug for ExprGroup

Source§

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

Formats the value using the given formatter. Read more

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.