use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("HTTP request failed: {0}")]
Request(#[from] reqwest::Error),
#[error("Unexpected GuerrillaMail response: {0}")]
ResponseParse(&'static str),
#[error("Failed to parse API token from GuerrillaMail page")]
TokenParse,
#[error("Failed to parse domain list from GuerrillaMail page")]
DomainParse,
#[error("Regex error: {0}")]
Regex(#[from] regex::Error),
#[error("Invalid header value: {0}")]
HeaderValue(#[from] reqwest::header::InvalidHeaderValue),
#[error("JSON parsing error: {0}")]
Json(#[from] serde_json::Error),
}