pub struct ActivePolicy {
pub resolved: ResolvedPolicy,
pub redaction: Vec<(String, Regex)>,
pub content_valid: bool,
pub filters: FilterConfig,
pub egress: EgressConfig,
/* private fields */
}Expand description
A resolved policy plus its precompiled redaction regexes — the cached, hot-path-ready form.
Fields§
§resolved: ResolvedPolicy§redaction: Vec<(String, Regex)>(label, compiled regex) — labels are the pack’s [redaction] keys.
Invalid/over-budget compilation makes the whole policy fail closed.
content_valid: bool§filters: FilterConfigCompiled inbound content filters (GL #675), built once from the pack’s
[filters] section.
egress: EgressConfigCompiled egress/output DLP config (GL #676), built once from the pack’s
[egress] section.
Implementations§
Source§impl ActivePolicy
impl ActivePolicy
Sourcepub fn within_horizon(&self) -> bool
pub fn within_horizon(&self) -> bool
Whether this policy may still be acted on: read on the real clock at every use, so a policy that is kept — in a view, a snapshot or a caller’s variable — ends with its signed horizon and not with the request that obtained it. Exclusive, like the verifier’s own check. An expiry once observed is final for this policy.
pub fn from_resolved(resolved: ResolvedPolicy) -> Self
Sourcepub fn tool_allowed(&self, tool: &str) -> bool
pub fn tool_allowed(&self, tool: &str) -> bool
Whether tool is permitted by this policy’s allow/deny lists.
deny_tools always wins; an allow_tools allowlist, when set, is
exclusive (only listed tools pass).
Auto Trait Implementations§
impl !Freeze for ActivePolicy
impl RefUnwindSafe for ActivePolicy
impl Send for ActivePolicy
impl Sync for ActivePolicy
impl Unpin for ActivePolicy
impl UnsafeUnpin for ActivePolicy
impl UnwindSafe for ActivePolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more