Enum Error

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

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.

§remaining: Option<usize>

Amount remaining (this should normally be 0). None indicates this was not given

§time_until_reset: Option<String>

Stringified timestamp (seconds) at which the ratelimit block will be lifted, or None for not ratelimited. This is only an Option in case a change is needed, considering that this will always be a Some(String) if this specific error is raised.

§

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 .0 is the status code object;
  • Field .1 is an optional instance of APIError, if it may be parsed like so;
  • Field .2 is 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

§reason: String

The reason why this error occurred.

§offender: Option<String>

The offending (invalid) string that triggered this error, if any.

§original_err: Option<ParseError>

The original chrono::ParseError, if there was any (otherwise, it’s a custom error triggered by the library).

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(err: SerdeError) -> Error

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: ReqwestError) -> Error

Converts to this type from the input type.
Source§

impl From<ParseError> for Error

Source§

fn from(err: UrlError) -> Error

Converts to this type from the input type.
Source§

impl From<ParseError> for Error

Source§

fn from(err: ParseError) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T, U> FetchInto<U> for T
where T: Sync + Send, U: FetchFrom<T> + Sync + Send,

Source§

fn fetch_into(&self, client: &Client) -> Result<U, Error>

(Sync) Attempts to request to the API and return a new instance of the type being turned into. Read more
Source§

fn a_fetch_into<'life0, 'life1, 'async_trait>( &'life0 self, client: &'life1 Client, ) -> Pin<Box<dyn Future<Output = Result<U, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, U: 'async_trait, T: 'async_trait,

(Async) Attempts to request to the API and return a new instance of the type being turned into. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more