json_rules_engine_fork/
error.rs

1use serde_json::error::Error as SerializeJsonError;
2use thiserror::Error as ThisError;
3
4#[cfg(feature = "email")]
5use sendgrid::error::SendgridError;
6
7#[cfg(feature = "callback")]
8use reqwest::{header::InvalidHeaderValue, Error as ReqwestError};
9
10#[derive(ThisError, Debug)]
11pub enum Error {
12    #[cfg(feature = "callback")]
13    #[error("Reqwest Error: `{0:?}`")]
14    ReqwestError(#[from] ReqwestError),
15    #[cfg(feature = "callback")]
16    #[error("Reqwest Invalid Header Error: `{0:?}`")]
17    ReqwestInvalidHeaderError(#[from] InvalidHeaderValue),
18    #[error("Serialize Json Error: `{0:?}`")]
19    SerializeJsonError(#[from] SerializeJsonError),
20    #[cfg(feature = "email")]
21    #[error("Send grid error: `{0:?}`")]
22    SendgridError(#[from] SendgridError),
23    // TODO make this error nicer!
24    #[error("Event error: `{0}`")]
25    EventError(String),
26}
27
28pub type Result<T> = std::result::Result<T, Error>;