use anyhow::Result;
use async_trait::async_trait;
use lapin::BasicProperties;
use std::borrow::Cow;
pub struct Message<'a> {
pub data: Cow<'a, [u8]>,
pub properties: BasicProperties,
}
#[async_trait]
pub trait MessageTransformer: Send + Sync {
async fn transform<'a>(&self, input: Message<'a>) -> Result<Message<'a>>;
}