pub struct ApprovalGuard { /* private fields */ }Expand description
The built-in HITL guard. Runs before the generic guard pipeline and decides whether a call passes straight through, requires approval, or was already approved by an accompanying token.
Implementations§
Source§impl ApprovalGuard
impl ApprovalGuard
pub fn new(store: Arc<dyn ApprovalStore>) -> Self
pub fn with_channel(self, channel: Arc<dyn ApprovalChannel>) -> Self
pub fn with_default_ttl(self, secs: u64) -> Self
Sourcepub fn evaluate(
&self,
ctx: ApprovalContext<'_>,
now: u64,
) -> Result<HitlVerdict, KernelError>
pub fn evaluate( &self, ctx: ApprovalContext<'_>, now: u64, ) -> Result<HitlVerdict, KernelError>
Evaluate the grant’s constraints against the request. Returns
a HitlVerdict describing the next step.
Sourcepub fn store(&self) -> Arc<dyn ApprovalStore>
pub fn store(&self) -> Arc<dyn ApprovalStore>
Accessor used by the resume flow in the HTTP layer.
Auto Trait Implementations§
impl !RefUnwindSafe for ApprovalGuard
impl !UnwindSafe for ApprovalGuard
impl Freeze for ApprovalGuard
impl Send for ApprovalGuard
impl Sync for ApprovalGuard
impl Unpin for ApprovalGuard
impl UnsafeUnpin for ApprovalGuard
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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