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>;