Skip to main content

Context

Struct Context 

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

A WAF Context that can be used to evaluate the configured ruleset against address data.

This is obtained by calling Handle::new_context, and a given Context should only be used to handle data for a single request.

Implementations§

Source§

impl Context

Source

pub fn new_subcontext(&self) -> Result<Subcontext, InternalError>

Creates a new Subcontext from this Context.

§Errors

Returns an error if the WAF encountered an internal error while creating the subcontext. This will not happen unless there is a bug in the WAF.

Trait Implementations§

Source§

impl Drop for Context

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl RunnableContext for Context

Source§

fn run( &mut self, data: WafMap, timeout: Duration, ) -> Result<RunResult, RunError>

Evaluates the configured ruleset against the provided address data, and returns the result of this evaluation. Read more
Source§

impl Send for Context

Safety: Context is Send because it doesn’t depend on thread local data and its pointer is not leaked or otherwise shared with other owning instances.

Source§

impl Sync for Context

Safety: Context is Sync because having a shared reference does not allow for changing state (except for atomically increasing reference count of some elements in the context, like that of the context store)

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.