use crate::{handling::routes::Body, utils::mime::mime_enum::Mime}; pub trait ResponseBody: Send { fn get_data(&self) -> Vec<u8>; fn get_mime(&self) -> Mime; fn get_len(&self) -> usize; } impl ResponseBody for Body { fn get_data(&self) -> Vec<u8> { self.body() } fn get_mime(&self) -> Mime { self.mime_type() } fn get_len(&self) -> usize { self.get_data().len() } } impl ResponseBody for &str { fn get_data(&self) -> Vec<u8> { self.as_bytes().to_vec() } fn get_mime(&self) -> Mime { Mime::TextPlain } fn get_len(&self) -> usize { self.len() } } impl ResponseBody for String { fn get_data(&self) -> Vec<u8> { self.as_bytes().to_vec() } fn get_mime(&self) -> Mime { Mime::TextPlain } fn get_len(&self) -> usize { self.len() } }