xray_lite/error.rs
1use serde_json::Error as JsonError;
2use std::io::Error as IOError;
3
4/// Common error type.
5#[derive(thiserror::Error, Debug)]
6pub enum Error {
7 /// Missing environment variable.
8 #[error("missing environment variable: {0}")]
9 MissingEnvVar(&'static str),
10 /// I/O error.
11 #[error("IO Error")]
12 IO(#[from] IOError),
13 /// JSON error.
14 #[error("Json Error")]
15 Json(#[from] JsonError),
16 /// Bad configuration.
17 #[error("bad configuration: {0}")]
18 BadConfig(String),
19}
20
21/// Type alias for Results which may return [`Error`].
22pub type Result<T> = std::result::Result<T, Error>;