tavily/
error.rs

1use std::fmt;
2
3pub type  Result<T> = core::result::Result<T, TavilyError>;
4
5#[derive(Debug)]
6pub enum TavilyError {
7    Api(String),
8    Http(reqwest::Error),
9    Configuration(String),
10    RateLimit(String),
11}
12
13impl std::error::Error for TavilyError {}
14
15impl fmt::Display for TavilyError {
16    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17        match self {
18            TavilyError::Api(msg) => write!(f, "API error: {}", msg),
19            TavilyError::Http(err) => write!(f, "HTTP error: {}", err),
20            TavilyError::Configuration(msg) => write!(f, "Configuration error: {}", msg),
21            TavilyError::RateLimit(msg) => write!(f, "Rate limit error: {}", msg),
22        }
23    }
24}
25
26impl From<reqwest::Error> for TavilyError {
27    fn from(err: reqwest::Error) -> Self {
28        TavilyError::Http(err)
29    }
30}