sheave_client/handlers/
publication_error.rsuse std::{
error::Error,
fmt::{
Display,
Formatter,
Result as FormatResult
},
io::{
Error as IOError,
ErrorKind
}
};
use sheave_core::messages::amf::v0::Object;
#[derive(Debug)]
pub struct PublicationError(Object);
impl PublicationError {
pub fn new(information: Object) -> Self {
Self(information)
}
}
impl Display for PublicationError {
fn fmt(&self, f: &mut Formatter<'_>) -> FormatResult {
writeln!(f, "The \"publish\" step got failed by following cause: {:?}", self.0)
}
}
impl Error for PublicationError {}
pub fn publication_error(information: Object) -> IOError {
IOError::new(
ErrorKind::InvalidData,
PublicationError(information)
)
}