Struct web_push::WebPushMessageBuilder
source · pub struct WebPushMessageBuilder<'a> { /* private fields */ }
Expand description
The main class for creating a notification payload.
Implementations§
source§impl<'a> WebPushMessageBuilder<'a>
impl<'a> WebPushMessageBuilder<'a>
sourcepub fn new(subscription_info: &'a SubscriptionInfo) -> WebPushMessageBuilder<'a>
pub fn new(subscription_info: &'a SubscriptionInfo) -> WebPushMessageBuilder<'a>
Creates a builder for generating the web push payload.
All parameters are from the subscription info given by browser when subscribing to push notifications.
sourcepub fn set_ttl(&mut self, ttl: u32)
pub fn set_ttl(&mut self, ttl: u32)
How long the server should keep the message if it cannot be delivered currently. If not set, the message is deleted immediately on failed delivery.
sourcepub fn set_urgency(&mut self, urgency: Urgency)
pub fn set_urgency(&mut self, urgency: Urgency)
Urgency indicates to the push service how important a message is to the user. This can be used by the push service to help conserve the battery life of a user’s device by only waking up for important messages when battery is low. Possible values are ‘very-low’, ‘low’, ‘normal’ and ‘high’.
sourcepub fn set_topic(&mut self, topic: String)
pub fn set_topic(&mut self, topic: String)
Assign a topic to the push message. A message that has been stored by the push service can be replaced with new content if the message has been assigned a topic. If the user agent is offline during the time that the push messages are sent, updating a push message avoid the situation where outdated or redundant messages are sent to the user agent. A message with a topic replaces any outstanding push messages with an identical topic. It is an arbitrary string consisting of at most 32 base64url characters.
sourcepub fn set_vapid_signature(&mut self, vapid_signature: VapidSignature)
pub fn set_vapid_signature(&mut self, vapid_signature: VapidSignature)
Add a VAPID signature to the request. To be generated with the VapidSignatureBuilder.
sourcepub fn set_payload(&mut self, encoding: ContentEncoding, content: &'a [u8])
pub fn set_payload(&mut self, encoding: ContentEncoding, content: &'a [u8])
If set, the client will get content in the notification. Has a maximum size of 3800 characters.
Aes128gcm is preferred, if the browser supports it.
sourcepub fn build(self) -> Result<WebPushMessage, WebPushError>
pub fn build(self) -> Result<WebPushMessage, WebPushError>
Builds and if set, encrypts the payload.