1#[derive(Debug, thiserror::Error)]
2pub enum Error {
3 #[error("missing expected field `{0}`")]
4 MissingField(String),
5 #[error("HTTP error")]
6 Reqwest(#[from] reqwest::Error),
7 #[error("failed to execute task")]
8 JoinError(#[from] tokio::task::JoinError),
9 #[error("RSS error")]
10 RSS(#[from] rss::Error),
11 #[error("missing title")]
12 MissingTitle,
13 #[error("missing size")]
14 MissingSize,
15 #[error("missing link")]
16 MissingLink,
17 #[error("empty extension `{0}`")]
18 EmptyExtension(String),
19 #[error("failed to parse integer")]
20 ParseInt(#[from] std::num::ParseIntError),
21 #[error("failed to parse float")]
22 ParseFloat(#[from] std::num::ParseFloatError),
23 #[cfg(feature = "require-parse-names")]
24 #[error("failed to parse torrent name")]
25 ParseTorrentName(#[from] torrent_name_parser::error::ErrorMatch)
26}
27