Skip to main content

ErrorReason

Enum ErrorReason 

Source
pub enum ErrorReason {
Show 32 variants BadCollapseId, BadDeviceToken, BadExpirationDate, BadMessageId, BadPriority, BadTopic, DeviceTokenNotForTopic, DuplicateHeaders, IdleTimeout, InvalidPushType, MissingDeviceToken, MissingTopic, PayloadEmpty, TopicDisallowed, BadCertificate, BadCertificateEnvironment, ExpiredProviderToken, Forbidden, InvalidProviderToken, MissingProviderToken, UnrelatedKeyIdInToken, BadEnvironmentKeyIdInToken, BadPath, MethodNotAllowed, ExpiredToken, Unregistered, PayloadTooLarge, TooManyProviderTokenUpdates, TooManyRequests, InternalServerError, ServiceUnavailable, Shutdown,
}
Expand description

A description what went wrong with the push notification.

Variants§

§

BadCollapseId

The collapse identifier exceeds the maximum allowed size.

§

BadDeviceToken

The specified device token is invalid. Verify that the request contains a valid token and that the token matches the environment.

§

BadExpirationDate

The apns-expiration value is invalid.

§

BadMessageId

The apns-id value is invalid.

§

BadPriority

The apns-priority value is invalid.

§

BadTopic

The apns-topic value is invalid.

§

DeviceTokenNotForTopic

The device token doesn’t match the specified topic.

§

DuplicateHeaders

One or more headers are repeated.

§

IdleTimeout

Idle timeout.

§

InvalidPushType

The apns-push-type value is invalid.

§

MissingDeviceToken

The device token isn’t specified in the request :path. Verify that the :path header contains the device token.

§

MissingTopic

The apns-topic header of the request isn’t specified and is required. The apns-topic header is mandatory when the client is connected using a certificate that supports multiple topics.

§

PayloadEmpty

The message payload is empty.

§

TopicDisallowed

Pushing to this topic is not allowed.

§

BadCertificate

The certificate is invalid.

§

BadCertificateEnvironment

The client certificate doesn’t match the environment.

§

ExpiredProviderToken

The provider token is stale and a new token should be generated.

§

Forbidden

The specified action is not allowed.

§

InvalidProviderToken

The provider token is not valid, or the token signature can’t be verified.

§

MissingProviderToken

No provider certificate was used to connect to APNs, and the authorization header is missing or no provider token is specified.

§

UnrelatedKeyIdInToken

The key ID in the provider token isn’t related to the key ID of the token used in the first push of this connection. To use this token, open a new connection.

§

BadEnvironmentKeyIdInToken

The key ID in the provider token doesn’t match the environment.

§

BadPath

The request contained an invalid :path value.

§

MethodNotAllowed

The specified :method value isn’t POST.

§

ExpiredToken

The device token has expired.

§

Unregistered

The device token is inactive for the specified topic. There is no need to send further pushes to the same device token, unless your application retrieves the same device token, refer to Registering your app with APNs

§

PayloadTooLarge

The message payload is too large. For information about the allowed payload size, refer to Create a POST request to APNs in Sending notification requests to APNs.

§

TooManyProviderTokenUpdates

The provider’s authentication token is being updated too often. Update the authentication token no more than once every 20 minutes.

§

TooManyRequests

Too many requests were made consecutively to the same device token.

§

InternalServerError

An internal server error occurred.

§

ServiceUnavailable

The service is unavailable.

§

Shutdown

The APNs server is shutting down.

Trait Implementations§

Source§

impl Debug for ErrorReason

Source§

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

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

impl<'de> Deserialize<'de> for ErrorReason

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for ErrorReason

Source§

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

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

impl PartialEq for ErrorReason

Source§

fn eq(&self, other: &ErrorReason) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ErrorReason

Source§

impl StructuralPartialEq for ErrorReason

Auto Trait Implementations§

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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, 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,