stac_async/
error.rs

1use url::Url;
2
3/// Crate-specific error type.
4#[derive(Debug, thiserror::Error)]
5#[non_exhaustive]
6pub enum Error {
7    /// [reqwest::header::InvalidHeaderName]
8    #[error(transparent)]
9    InvalidHeaderName(#[from] reqwest::header::InvalidHeaderName),
10
11    /// [reqwest::header::InvalidHeaderValue]
12    #[error(transparent)]
13    InvalidHeaderValue(#[from] reqwest::header::InvalidHeaderValue),
14
15    /// [std::io::Error]
16    #[error(transparent)]
17    Io(#[from] std::io::Error),
18
19    /// [tokio::task::JoinError]
20    #[error(transparent)]
21    TokioJoin(#[from] tokio::task::JoinError),
22
23    /// [http::method::InvalidMethod]
24    #[error(transparent)]
25    HttpInvalidMethod(#[from] http::method::InvalidMethod),
26
27    /// [reqwest::Error]
28    #[error(transparent)]
29    Reqwest(#[from] reqwest::Error),
30
31    /// The endpoint was not found.
32    #[error("not found: {0}")]
33    NotFound(Url),
34
35    /// [serde_json::Error]
36    #[error(transparent)]
37    SerdeJson(#[from] serde_json::Error),
38
39    /// [stac::Error]
40    #[error(transparent)]
41    Stac(#[from] stac::Error),
42
43    /// [stac_api::Error]
44    #[error(transparent)]
45    StacApi(#[from] stac_api::Error),
46
47    /// [url::ParseError]
48    #[error(transparent)]
49    UrlParse(#[from] url::ParseError),
50}