use reqwest::header;
use std::string;
use thiserror::Error as ThisError;
pub type Result<T, E = Error> = std::result::Result<T, E>;
#[derive(ThisError, Debug)]
#[non_exhaustive]
pub enum Error {
#[error(transparent)]
Reqwest(#[from] reqwest::Error),
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Decode(#[from] base64::DecodeError),
#[error(transparent)]
FromUtf8(#[from] string::FromUtf8Error),
#[error(transparent)]
InvalidHeaderValue(#[from] header::InvalidHeaderValue),
#[error(transparent)]
Regex(#[from] lazy_regex::regex::Error),
#[error(transparent)]
SerdeYaml(#[from] serde_saphyr::Error),
#[error("{0}")]
RegexMatch(String),
#[error("{0}")]
NotFound(String),
}