1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use thiserror::Error;
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Error, Debug)]
pub enum Error {
/// There was an error running some middleware
#[error("Middleware error: {0}")]
Middleware(#[from] anyhow::Error),
/// Error from the underlying reqwest client
#[error("Request error: {0}")]
Reqwest(#[from] reqwest::Error),
}
impl Error {
pub fn middleware<E>(err: E) -> Self
where
E: 'static + Send + Sync + std::error::Error,
{
Error::Middleware(err.into())
}
}