X-Git-Url: https://git.r.bdr.sh/rbdr/olden-mail/blobdiff_plain/b5234d6f3aeb75365269c14bd4f553becaf59b70..refs/heads/main:/src/middleware/mod.rs?ds=sidebyside diff --git a/src/middleware/mod.rs b/src/middleware/mod.rs index da7e64a..a0bc50f 100644 --- a/src/middleware/mod.rs +++ b/src/middleware/mod.rs @@ -1,8 +1,16 @@ mod find_mailboxes_compatibility; -use find_mailboxes_compatibility::middleware as find_mailboxes_compatibility_middleware; +use find_mailboxes_compatibility::FindMailboxesCompatibility; -type Middleware = fn(&[u8]) -> Vec; +use std::sync::{Arc, Mutex}; -pub const CLIENT_MIDDLEWARE: [Middleware; 1] = [find_mailboxes_compatibility_middleware]; -pub const SERVER_MIDDLEWARE: [Middleware; 0] = []; +pub trait Middleware: Sync + Send { + fn client_message(&mut self, input: &[u8]) -> Vec; + fn server_message(&mut self, input: &[u8]) -> Vec; +} + +pub fn get() -> Arc>>> { + Arc::new(Mutex::new(vec![ + Box::new(FindMailboxesCompatibility::new()), + ])) +}