tweety_rs/api/
error.rs

1use thiserror::Error;
2use url::ParseError;
3
4#[derive(Debug, Error)]
5pub enum TweetyError {
6    #[error("Error reading file: {0}")]
7    FileIOError(String),
8    #[error("Connection error occurred: {0}")]
9    NetworkError(String),
10    #[error("Authentication error occurred")]
11    AuthError,
12    #[error("Request Error :{0}")]
13    RequestError(reqwest::Error),
14    #[error("API responded with an error: {0}")]
15    ApiError(String),
16    #[error("Failed to parse JSON response: {0}")]
17    JsonParseError(String),
18    #[error("Parse Error: {0}")]
19    UrlParseError(ParseError),
20    #[error("Twitter consumer credentials are missing. Please set the 'consumer_key', 'consumer_secret', 'access_token', and 'access_token_secret' in your configuration:")]
21    MissingCredentials,
22}
23
24impl From<reqwest::Error> for TweetyError {
25    fn from(err: reqwest::Error) -> TweetyError {
26        TweetyError::RequestError(err)
27    }
28}