pub struct HookEngine { /* private fields */ }Expand description
Hook engine.
The engine is safe-by-default:
- disabled unless
settings.enabled == true - refuses to execute programs not present in
settings.allowed_programs
Implementations§
Source§impl HookEngine
impl HookEngine
Sourcepub fn new(settings: HooksSettings) -> Self
pub fn new(settings: HooksSettings) -> Self
Create a hook engine using the default OS-process executor.
Sourcepub fn new_with_executor(
settings: HooksSettings,
executor: Arc<dyn HookExecutor>,
) -> Self
pub fn new_with_executor( settings: HooksSettings, executor: Arc<dyn HookExecutor>, ) -> Self
Create a hook engine with a custom executor.
Sourcepub async fn run(
&self,
event: HookEvent,
ctx: &HookContext,
) -> Result<Vec<HookExecutionRecord>>
pub async fn run( &self, event: HookEvent, ctx: &HookContext, ) -> Result<Vec<HookExecutionRecord>>
Execute all hooks registered for event.
Auto Trait Implementations§
impl Freeze for HookEngine
impl !RefUnwindSafe for HookEngine
impl Send for HookEngine
impl Sync for HookEngine
impl Unpin for HookEngine
impl !UnwindSafe for HookEngine
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
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].