Enum fcm::Error

source ·
pub enum Error {
    Unauthorized,
    InvalidMessage(String),
    ServerError(Option<RetryAfter>),
}
Expand description

Fatal errors. Referred from Firebase documentation

Variants

Unauthorized

The sender account used to send a message couldn’t be authenticated. Possible causes are:

Authorization header missing or with invalid syntax in HTTP request.

  • The Firebase project that the specified server key belongs to is incorrect.
  • Legacy server keys only—the request originated from a server not whitelisted in the Server key IPs.

Check that the token you’re sending inside the Authentication header is the correct Server key associated with your project. See Checking the validity of a Server key for details. If you are using a legacy server key, you’re recommended to upgrade to a new key that has no IP restrictions.

InvalidMessage(String)

Check that the JSON message is properly formatted and contains valid fields (for instance, making sure the right data type is passed in).

ServerError(Option<RetryAfter>)

The server couldn’t process the request. Retry the same request, but you must:

  • Honor the RetryAfter value if included.
  • Implement exponential back-off in your retry mechanism. (e.g. if you waited one second before the first retry, wait at least two second before the next one, then 4 seconds and so on). If you’re sending multiple messages, delay each one independently by an additional random amount to avoid issuing a new request for all messages at the same time.

Senders that cause problems risk being blacklisted.

Trait Implementations

Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.