use async_trait::async_trait;
use camel_api::{CamelError, Exchange};
#[async_trait]
pub trait BeanProcessor: Send + Sync {
async fn call(&self, method: &str, exchange: &mut Exchange) -> Result<(), CamelError>;
fn methods(&self) -> Vec<String>;
fn method_params(&self) -> Option<Vec<String>> {
None
}
async fn on_start(&self) -> Result<(), CamelError> {
Ok(())
}
async fn on_stop(&self) -> Result<(), CamelError> {
Ok(())
}
}