aboutsummaryrefslogtreecommitdiff
path: root/src/middleware/mod.rs
blob: b9685bf8c0d6a02778104db76b1b1a6dfdd543cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mod find_mailboxes_compatibility;

use find_mailboxes_compatibility::FindMailboxesCompatibility;

use std::sync::{Arc, Mutex};

pub trait Middleware: Sync + Send {
    fn client_message(&mut self, input: &[u8]) -> Vec<u8>;
    fn server_message(&mut self, input: &[u8]) -> Vec<u8>;
}

pub fn get_middleware() -> Arc<Mutex<Vec<Box<dyn Middleware>>>> {
    Arc::new(Mutex::new(vec![
        Box::new(FindMailboxesCompatibility::new()),
    ]))
}