whatsapp_cloud_api/
error.rs

1use std::error::Error;
2
3#[derive(Debug)]
4pub enum WhatsappError {
5    ReqwestError(reqwest::Error),
6    UnexpectedError(String),
7}
8
9impl std::fmt::Display for WhatsappError {
10    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11        match self {
12            WhatsappError::ReqwestError(e) => f.write_str(e.to_string().as_str()),
13            WhatsappError::UnexpectedError(e) => f.write_str(e.to_string().as_str()),
14        }
15    }
16}
17
18impl Error for WhatsappError {
19    fn source(&self) -> Option<&(dyn Error + 'static)> {
20        match self {
21            WhatsappError::ReqwestError(e) => Some(e),
22            WhatsappError::UnexpectedError(_) => None,
23        }
24    }
25}
26
27impl From<reqwest::Error> for WhatsappError {
28  fn from(e: reqwest::Error) -> Self {
29    WhatsappError::ReqwestError(e)
30  }
31}