use thiserror::Error;
#[derive(Error, Debug)]
pub enum ScanError {
#[error("HTTP request failed: {0}")]
HttpError(#[from] reqwest::Error),
#[error("Failed to parse JSON: {0}")]
ParseError(#[from] serde_json::Error),
#[error("Invalid configuration: {0}")]
ConfigError(String),
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("Invalid payload format: {0}")]
InvalidPayload(String),
#[error("No payloads available for scanning")]
NoPayloads,
#[error("Invalid URL: {0}")]
UrlError(String),
}
pub type Result<T> = std::result::Result<T, ScanError>;