pub mod ack;
pub mod admin;
pub mod closure;
pub mod connect;
pub mod disconnect;
pub mod http;
pub mod log;
pub mod persist;
pub mod ping;
pub mod echo;
pub mod receipt;
pub mod requires_auth;
pub mod resend;
pub mod send;
pub mod subscribe;
use crate::message::stomp_message::StompMessage;
use crate::workflow::context::Context;
use std::fmt::Debug;
#[derive(Debug)]
pub struct FilterError {
pub reply_message: Option<String>,
pub log_message: Option<String>,
pub fatal: bool,
}
pub trait MessageFilter: Debug {
fn init(&mut self);
fn do_filter(&self, context: &mut Context, message: &mut StompMessage) -> Result<bool, FilterError>;
}
#[derive(Debug)]
pub struct HttpError {
pub log_message: Option<String>,
}
pub trait HttpFilter: Debug {
fn init(&mut self);
fn do_filter(&self, context: &mut Context, message: &mut StompMessage) -> Result<bool, HttpError>;
}
pub trait AdminFilter {
fn init(&mut self);
fn do_filter(&self, context: &mut Context, message: &mut StompMessage) -> Result<bool, FilterError>;
}