use reqwest::header;
use std::string;
use thiserror::Error as ThisError;
#[derive(ThisError, Debug)]
#[non_exhaustive]
pub enum Error {
#[error("{0}")]
Reqwest(#[from] reqwest::Error),
#[error("{0}")]
Decode(#[from] base64::DecodeError),
#[error("{0}")]
FromUtf8(#[from] string::FromUtf8Error),
#[error("{0}")]
RegexMatch(String),
#[error("link cannot be decoded {0}")]
LinkCannotBeDecoded(String),
#[error("{0}")]
InvalidHeaderValue(#[from] header::InvalidHeaderValue),
#[error("{0}")]
NotFound(String),
#[error("{0}")]
Regex(#[from] lazy_regex::regex::Error),
}