use std::fmt;
#[derive(Debug)]
pub enum FlightRadarError {
Http(reqwest::Error),
Parsing(String),
General(String),
Parameter(String),
}
impl fmt::Display for FlightRadarError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
FlightRadarError::Http(err) => write!(f, "HTTP Error: {}", err),
FlightRadarError::Parsing(msg) => write!(f, "Parsing Error: {}", msg),
FlightRadarError::General(msg) => write!(f, "Error: {}", msg),
FlightRadarError::Parameter(msg) => write!(f, "Invalid Parameter: {}", msg),
}
}
}
impl std::error::Error for FlightRadarError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match self {
FlightRadarError::Http(err) => Some(err),
_ => None,
}
}
}
impl From<reqwest::Error> for FlightRadarError {
fn from(err: reqwest::Error) -> Self {
FlightRadarError::Http(err)
}
}