communications |
|
|
communications.rs |
Server Communications.
Handles however communication to and from the remote Push Server should be done. For Desktop
this will be over Websocket. For mobile, it calls into the local operating
system and HTTPS to the web push server.
Mainly exposes a trait [`Connection`] and a concrete type that implements it [`ConnectHttp`]
The trait is a lightweight interface that talks to autopush servers and provides the following functionality
- Subscription: Through [`Connection::subscribe_new`] on first subscription, and [`Connection::subscribe_with_uaid`] on subsequent subscriptiosn
- Unsubscription: Through [`Connection::unsubscribe`] for a single channel, and [`Connection::unsubscribe_all`] for all channels
- Updating tokens: Through [`Connection::update`] to update a native token
- Getting all subscription channels: Through [`Connection::channel_list`] |
21975 |
config.rs |
Provides configuration for the [PushManager](`crate::PushManager`)
|
3109 |
crypto.rs |
Module providing all the cryptography needed by the push component
Mainly exports a trait [`Cryptography`] and a concrete type that implements that trait
[`Crypto`]
The push component encrypts its push notifications. When a subscription is created,
[`Cryptography::generate_key`] is called to generate a public/private key pair.
The public key is then given to the subscriber (for example, Firefox Accounts) and the private key
is persisted in the client. Subscribers are required to encrypt their payloads using the public key and
when delivered to the client, the client would load the private key from storage and decrypt the payload.
|
11761 |
mod.rs |
|
344 |
push_manager.rs |
Main entrypoint for the push component, handles push subscriptions
Exposes a struct [`PushManager`] that manages push subscriptions for a client
The [`PushManager`] allows users to:
- Create new subscriptions persist their private keys and return a URL for sender to send encrypted payloads using a returned public key
- Delete existing subscriptions
- Update native tokens with autopush server
- routinely check subscriptions to make sure they are in a good state. |
37997 |
storage |
|
|