1use crate::types::StatsAPIError;
2
3#[cfg(feature = "ureq")]
4mod ureq;
5
6#[cfg(feature = "ureq")]
7pub use ureq::*;
8
9#[cfg(feature = "reqwest")]
10mod reqwest;
11#[cfg(feature = "reqwest")]
12pub use reqwest::*;
13
14pub type Result<T, E = Error> = std::result::Result<T, E>;
15
16#[derive(Debug, thiserror::Error)]
17pub enum Error {
18 #[cfg(feature = "ureq")]
19 #[error(transparent)]
20 Network(#[from] ::ureq::Error),
21 #[cfg(feature = "reqwest")]
22 #[error(transparent)]
23 Network(#[from] ::reqwest::Error),
24 #[error(transparent)]
25 Serde(#[from] serde_json::Error),
26 #[error(transparent)]
27 StatsAPI(#[from] StatsAPIError),
28}