1#[derive(Debug, thiserror::Error)]
3pub enum Error {
4 #[error("Network error")]
6 Network(#[from] reqwest::Error),
7
8 #[error("Malformed JSON")]
10 Json(#[from] JsonError),
11
12 #[error("Malformed URL")]
14 Url(#[from] url::ParseError),
15
16 #[error("Can't use URL as base URL")]
18 UrlCannotBeABase,
19
20 #[error("Invalid query parameter")]
22 QueryParam(#[from] crate::QueryParamError),
23
24 #[error("Invalid header name")]
26 BadHeaderName(#[source] http::Error),
27
28 #[error("Invalid value for header `{0}`")]
30 BadHeaderValue(http::HeaderName, #[source] http::Error),
31}
32
33#[derive(Debug, thiserror::Error)]
36pub enum JsonError {
37 #[error(transparent)]
38 Json(#[from] serde_json::Error),
39 #[error(transparent)]
40 JsonWithPath(#[from] serde_path_to_error::Error<serde_json::Error>),
41}