linode_rs/
linode_error.rs

1use std::fmt::Display;
2
3use crate::api_error::LinodeApiError;
4
5#[derive(Debug)]
6pub enum LinodeError {
7    Reqwest(reqwest::Error),
8    Api(LinodeApiError),
9    Json(),
10}
11
12impl From<reqwest::Error> for LinodeError {
13    fn from(value: reqwest::Error) -> Self {
14        LinodeError::Reqwest(value)
15    }
16}
17
18impl Display for LinodeError {
19    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
20        match self {
21            LinodeError::Reqwest(err) => write!(f, "Request: {}", err),
22            LinodeError::Api(err) => write!(f, "LinodeApi: {:?}", err),
23            LinodeError::Json() => write!(f, "JSON"),
24        }
25    }
26}
27
28impl std::error::Error for LinodeError {}