#[non_exhaustive]pub enum Error {
Json(Error),
Url(ParseError),
Authorization(InvalidHeaderValue),
Request(Error),
Ratelimited {
limit: Option<usize>,
remaining: Option<usize>,
time_until_reset: Option<String>,
},
Status(StatusCode, Option<APIError>, Option<Value>),
FetchFrom(String),
ParseTimeLike {
reason: String,
offender: Option<String>,
original_err: Option<ParseError>,
},
}Expand description
Represents all possible errors while using methods from this lib (brawl-api) in functions
such as fetches.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Json(Error)
Represents an error occurred while using serde_json for serializing/deserializing JSON
data. (A serde_json crate error)
Url(ParseError)
Represents an error indicating a malformed URL.
Authorization(InvalidHeaderValue)
Represents an error indicating that an invalid Authorization header was specified.
This error can be caused by the user of this lib when an invalid auth key is given.
(Note that invalid auth key is covered by the Status error, but if it is given in an
invalid format - which is impossible to be a valid key -, this error may appear.)
Contains the invalid header value inside (as the .0 field).
Request(Error)
Represents an error occurred while requesting to the API or while receiving its data.
(A reqwest crate error)
Ratelimited
Represents an API ratelimit.
Fields
limit: Option<usize>Maximum amount of requests per minute allowed. None indicates this was not given.
Status(StatusCode, Option<APIError>, Option<Value>)
Represents an arbitrary status code error received from the API. E.g. 400, 403, 404, 429, 500, 503
- Field
.0is the status code object; - Field
.1is an optional instance ofAPIError, if it may be parsed like so; - Field
.2is the raw error response as parsed json, if it had that format. (If field .2 is None, that implies field .1 is None, since an APIError comes from a JSON object).
FetchFrom(String)
Represents an error while operating the conversion of types through FetchFrom. Note that
any errors while fetching things are either an Error::Json or Error::Request, while
this error refers to additional operations done after the fetching is done.
At field .0, there is a String object describing what occurred.
ParseTimeLike
Represents an error while using TimeLike.parse. Note that this is feature-gated
by the chrono feature (meaning that, if it is disabled, this variant is removed).
Fields
original_err: Option<ParseError>The original chrono::ParseError, if there was any (otherwise, it’s a custom
error triggered by the library).