prusto_rs/
error.rs

1use reqwest::header::HeaderName;
2use reqwest::StatusCode;
3use thiserror::Error;
4
5use crate::models::QueryError;
6
7#[derive(Error, Debug)]
8pub enum Error {
9    #[error("invalid catalog")]
10    InvalidCatalog,
11    #[error("invalid schema")]
12    InvalidSchema,
13    #[error("invalid source")]
14    InvalidSource,
15    #[error("invalid user")]
16    InvalidUser,
17    #[error("invalid properties")]
18    InvalidProperties,
19    #[error("duplicate header")]
20    DuplicateHeader(HeaderName),
21    #[error("invalid empty auth")]
22    EmptyAuth,
23    #[error("basic auth can not be used with http")]
24    BasicAuthWithHttp,
25    #[error("http error, reason: {0}")]
26    HttpError(#[from] reqwest::Error),
27    #[error("http not ok, code: {0}, reason: {1}")]
28    HttpNotOk(StatusCode, String),
29    #[error("query error, reason: {0}")]
30    QueryError(#[from] QueryError),
31    #[error("inconsistent data")]
32    InconsistentData,
33    #[error("empty data")]
34    EmptyData,
35    #[error("reach max attempt: {0}")]
36    ReachMaxAttempt(usize),
37    #[error("invalid host: {0}")]
38    InvalidHost(String),
39    #[error("internal error: {0}")]
40    InternalError(String),
41}
42
43pub type Result<T> = std::result::Result<T, Error>;