aboutsummaryrefslogtreecommitdiff
path: root/src/handler
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-04-15 02:00:45 +0000
committerFuwn <[email protected]>2023-04-15 02:00:45 +0000
commitc360d1d773bbfa9c9cfec97a202cc2b29b141010 (patch)
tree41d389243e4e6308f7edf50d64ae51bb71bd3f78 /src/handler
parentchore(examples): add sync module example (diff)
downloadwindmark-c360d1d773bbfa9c9cfec97a202cc2b29b141010.tar.xz
windmark-c360d1d773bbfa9c9cfec97a202cc2b29b141010.zip
refactor(hooks): implement call for hooks
Diffstat (limited to 'src/handler')
-rw-r--r--src/handler/hooks/post_route.rs14
-rw-r--r--src/handler/hooks/pre_route.rs10
2 files changed, 17 insertions, 7 deletions
diff --git a/src/handler/hooks/post_route.rs b/src/handler/hooks/post_route.rs
index f4a919d..63a20b9 100644
--- a/src/handler/hooks/post_route.rs
+++ b/src/handler/hooks/post_route.rs
@@ -19,10 +19,14 @@
use crate::{context::HookContext, Response};
#[allow(clippy::module_name_repetitions)]
-pub trait PostRouteHook:
- FnMut(HookContext, &mut Response) + Send + Sync
-{
+pub trait PostRouteHook: Send + Sync {
+ fn call(&mut self, context: HookContext, response: &mut Response);
}
-impl<T> PostRouteHook for T where T: FnMut(HookContext, &mut Response) + Send + Sync
-{}
+impl<T> PostRouteHook for T
+where T: FnMut(HookContext, &mut Response) + Send + Sync
+{
+ fn call(&mut self, context: HookContext, response: &mut Response) {
+ (*self)(context, response);
+ }
+}
diff --git a/src/handler/hooks/pre_route.rs b/src/handler/hooks/pre_route.rs
index af5ed9d..ff6162f 100644
--- a/src/handler/hooks/pre_route.rs
+++ b/src/handler/hooks/pre_route.rs
@@ -19,6 +19,12 @@
use crate::context::HookContext;
#[allow(clippy::module_name_repetitions)]
-pub trait PreRouteHook: FnMut(HookContext) + Send + Sync {}
+pub trait PreRouteHook: Send + Sync {
+ fn call(&mut self, context: HookContext);
+}
-impl<T> PreRouteHook for T where T: FnMut(HookContext) + Send + Sync {}
+impl<T> PreRouteHook for T
+where T: FnMut(HookContext) + Send + Sync
+{
+ fn call(&mut self, context: HookContext) { (*self)(context) }
+}