#[derive(Debug, Copy, Clone, PartialEq, Eq, thiserror::Error)]
pub enum Error {
#[error("invalid parameter")]
InvalidParam,
#[error("i/o error encountered")]
Io,
#[error("timed out")]
Timeout,
}
impl From<hyper::Error> for Error {
fn from(e: hyper::Error) -> Self {
if e.is_timeout() {
Error::Timeout
} else if e.is_parse() || e.is_parse_status() {
Error::InvalidParam
} else {
Error::Io
}
}
}