use crate::types::{InputType, KeelInput};
#[derive(Debug)]
pub enum HandlerResponse {
Processed,
Suppressed,
Forward {
to: String,
payload: serde_json::Value,
},
Error(String),
}
#[async_trait::async_trait]
pub trait InputHandler: Send + Sync {
async fn handle(&self, input: &KeelInput) -> anyhow::Result<HandlerResponse>;
fn handles(&self, input_type: &InputType) -> bool;
}