#![cfg(feature = "awscout")]
#![cfg_attr(docsrs, doc(cfg(feature = "awscout")))]
use crate::Message;
use serde_json::json;
pub trait MessageFormatter: Send + Sync {
fn format(&self, message: &Message) -> String;
}
pub struct StandardMessageFormatter {}
impl StandardMessageFormatter {
pub fn new() -> Self {
Self {}
}
}
impl MessageFormatter for StandardMessageFormatter {
fn format(&self, message: &Message) -> String {
json!({
"level": message.level().to_string(),
"msg": message.content().to_string(),
})
.to_string()
}
}
impl Default for StandardMessageFormatter {
fn default() -> Self {
Self{}
}
}