Skip to main content

kodik_utils/
error.rs

1//! Error types for the Kodik library.
2use reqwest::header;
3use std::string;
4use thiserror::Error as ThisError;
5
6/// Errors from kodik.
7#[derive(ThisError, Debug)]
8#[non_exhaustive]
9pub enum Error {
10    /// Reqwest HTTP client error.
11    #[error("{0}")]
12    Reqwest(#[from] reqwest::Error),
13
14    /// Base64 decoding error.
15    #[error("{0}")]
16    Decode(#[from] base64::DecodeError),
17
18    /// UTF-8 conversion error.
19    #[error("{0}")]
20    FromUtf8(#[from] string::FromUtf8Error),
21
22    /// Regex matching error.
23    #[error("{0}")]
24    RegexMatch(String),
25
26    /// Link cannot be decoded error.
27    #[error("link cannot be decoded {0}")]
28    LinkCannotBeDecoded(String),
29
30    /// Invaliad header value
31    #[error("{0}")]
32    InvalidHeaderValue(#[from] header::InvalidHeaderValue),
33
34    /// Not found error.
35    #[error("{0}")]
36    NotFound(String),
37
38    #[error("{0}")]
39    Regex(#[from] lazy_regex::regex::Error),
40}