From 8ab8739c55711caa07b8d7540309cb48cc892369 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 27 Jan 2025 21:50:05 +0100 Subject: Adjust middleware to modify responses --- src/middleware/mod.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/middleware/mod.rs') diff --git a/src/middleware/mod.rs b/src/middleware/mod.rs index da7e64a..b9685bf 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_middleware() -> Arc>>> { + Arc::new(Mutex::new(vec![ + Box::new(FindMailboxesCompatibility::new()), + ])) +} -- cgit