pub type Result<T> = std::result::Result<T, Error>;
#[derive(Clone, Debug, PartialEq)]
pub enum Error {
Io(String),
Http(String),
Json(String),
Image(String),
}
impl From<std::io::Error> for Error {
fn from(err: std::io::Error) -> Self {
Self::Io(format!("{err}"))
}
}
impl From<hyper::Error> for Error {
fn from(err: hyper::Error) -> Self {
Self::Http(format!("{err}"))
}
}
impl From<http::uri::InvalidUri> for Error {
fn from(err: http::uri::InvalidUri) -> Self {
Self::Http(format!("{err}"))
}
}
impl From<serde_json::Error> for Error {
fn from(err: serde_json::Error) -> Self {
Self::Json(format!("{err}"))
}
}
impl From<image::ImageError> for Error {
fn from(err: image::ImageError) -> Self {
Self::Image(format!("{err}"))
}
}