1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use surf::{Client, Config, StatusCode};
use thiserror::Error;
#[derive(Debug, Error)]
pub enum RequestError {
#[error("Rate limit exceeded")]
RateLimitExceeded,
#[error("Auto banned for exceeding rate limit")]
AutoBanned,
#[error("Unexpected status code {0}. Response body: {1}")]
UnexpectedStatusCode(StatusCode, String),
}
#[derive(Debug, Error)]
pub enum ClientError {
#[error("Failed to create client")]
FailedCreate(<Client as TryFrom<Config>>::Error),
}