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