Skip to main content

Inspector

Struct Inspector 

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

Scans input text against a RuleSet.

Building an inspector compiles every pattern, so build once and reuse it. Inspector is Send + Sync.

Implementations§

Source§

impl Inspector

Source

pub fn new(rule_set: RuleSet) -> Result<Self, Error>

Compiles rule_set.

Source

pub fn with_default_rules() -> Self

An inspector with the bundled default rules.

§Panics

Never in practice: the bundled rules are compiled in the crate’s tests.

Source

pub fn policy(&self) -> &Policy

The policy in effect.

Source

pub fn rules(&self) -> impl Iterator<Item = &Rule>

The rules in effect, in order.

Source

pub fn scan(&self, text: &str) -> Report

Scans text and returns every finding plus an overall decision.

Source

pub fn redact(&self, text: &str) -> Redacted

Scans text and replaces every finding whose category is listed in Policy::redact with a marker.

Overlapping findings are merged; the marker of the first (highest severity) finding wins. Injection findings are not redacted by default because masking an instruction does not make it safe to forward.

Trait Implementations§

Source§

impl Debug for Inspector

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.