use reqwest::{
header::{HeaderName, InvalidHeaderValue as ReqwestInvalidHeaderValue},
Error as ReqwestError,
};
use serde_json::Error as JsonError;
use snafu::Snafu;
use std::result::Result as StdResult;
use url::ParseError as UrlParseError;
pub type Result<T> = StdResult<T, Error>;
#[derive(Debug, Snafu)]
#[snafu(visibility(pub(crate)))]
pub enum Error {
ChunkingText {
source: ReqwestError,
},
Deserializing {
source: JsonError,
text: String,
},
InvalidHeaderValue {
name: HeaderName,
source: ReqwestInvalidHeaderValue,
value: String,
},
InvalidUrl {
source: UrlParseError,
uri: String,
},
Request {
source: ReqwestError,
},
TokenMissing,
}
impl From<ReqwestError> for Error {
fn from(source: ReqwestError) -> Self {
Self::Request { source }
}
}