flagd_evaluation_engine/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
5pub enum FlagdEvaluationError {
6 #[error("Provider error: {0}")]
7 Provider(String),
8 #[error("Invalid configuration: {0}")]
9 Config(String),
10 #[error("Parse error: {0}")]
11 Parse(String),
12 #[error("IO error: {0}")]
13 Io(#[from] std::io::Error),
14 #[error("JSON error: {0}")]
15 Json(#[from] serde_json::Error),
16}
17
18impl From<Box<dyn std::error::Error>> for FlagdEvaluationError {
19 fn from(error: Box<dyn std::error::Error>) -> Self {
20 FlagdEvaluationError::Provider(error.to_string())
21 }
22}
23
24impl From<Box<dyn std::error::Error + Send + Sync>> for FlagdEvaluationError {
25 fn from(error: Box<dyn std::error::Error + Send + Sync>) -> Self {
26 FlagdEvaluationError::Provider(error.to_string())
27 }
28}