use thiserror::Error;
#[derive(Error, Debug)]
pub enum ConnectorError {
#[error("ReqwestError error")]
ReqwestError,
#[error("HTTP error: `{0}`, `{1}`, {2}`")]
HttpError(String, String, reqwest::StatusCode),
#[error("Library error: `{0}`")]
LibraryError(String),
#[error("Polars error")]
PolarsError,
#[error(transparent)]
GenericError(#[from] Box<dyn std::error::Error + Send>),
#[error("Parsing error")]
ParseError,
#[error("File i/o error")]
FileIOError
}
impl From<polars::error::PolarsError> for ConnectorError {
fn from(_: polars::error::PolarsError) -> Self {
ConnectorError::PolarsError
}
}
impl From<url::ParseError> for ConnectorError {
fn from(_: url::ParseError) -> Self {
ConnectorError::ParseError
}
}
impl From<reqwest::Error> for ConnectorError {
fn from(_: reqwest::Error) -> Self {
ConnectorError::ReqwestError
}
}
impl From<std::io::Error> for ConnectorError {
fn from(_: std::io::Error) -> Self {
ConnectorError::FileIOError
}
}