use reqwest::StatusCode;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("could not establish connection")]
Connection(#[from] reqwest::Error),
#[error("could not parse response")]
Parse(#[from] serde_json::Error),
#[error("could not find file (expected {qualified_url:?}, from {url:?}), server returned {status_code:?}")]
Rate {
qualified_url: String,
url: String,
status_code: StatusCode,
},
#[error("could not build request {0}")]
Request(String),
#[cfg(feature = "time")]
#[error("could not parse time")]
TimeError(#[from] chrono::ParseError),
}