use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("jpzip: http error: {0}")]
Http(#[from] reqwest::Error),
#[error("jpzip: parse error: {0}")]
Parse(#[from] serde_json::Error),
#[error("jpzip: prefix must be 1-3 digits: {0:?}")]
InvalidPrefix(String),
#[error("jpzip: cache error: {0}")]
Cache(#[source] Box<dyn std::error::Error + Send + Sync>),
#[error("jpzip: {url} returned HTTP {status}")]
Status { url: String, status: u16 },
}