summaryrefslogtreecommitdiff
path: root/src/push/handlers/mod.rs
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2025-07-23 21:34:32 -0400
committerKit La Touche <kit@transneptune.net>2025-07-23 21:34:32 -0400
commit411ba4920358aef3f221910150d926a99e34a5ae (patch)
tree724343887b7ff904147fc66e57c82045d31d2fa5 /src/push/handlers/mod.rs
parent5e143954c58d2736edd7222cf1befc1aa1025d61 (diff)
Wire together notifs
Diffstat (limited to 'src/push/handlers/mod.rs')
-rw-r--r--src/push/handlers/mod.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/push/handlers/mod.rs b/src/push/handlers/mod.rs
index 05249c2..afa76e0 100644
--- a/src/push/handlers/mod.rs
+++ b/src/push/handlers/mod.rs
@@ -35,10 +35,14 @@ pub async fn echo(
Json(echo): Json<Echo>,
) -> Result<(), crate::error::Internal> {
// Look this up from a subscription record? Or get it from the client and trust?
- let endpoint = "https://updates.push.services.mozilla.com/wpush/v1/...";
+ let endpoint = echo.endpoint;
// Get these from client:
- let p256dh = "key_from_browser_as_base64";
- let auth = "auth_from_browser_as_base64";
+ let p256dh = echo.keys.p256dh;
+ let auth = echo.keys.auth;
+
+ println!("endpoint: {:?}", endpoint);
+ println!("p256dh: {:?}", p256dh);
+ println!("auth: {:?}", auth);
// You would likely get this by deserializing a browser `pushSubscription` object.
let subscription_info = SubscriptionInfo::new(endpoint, p256dh, auth);
@@ -64,6 +68,15 @@ pub async fn echo(
#[derive(serde::Deserialize)]
+pub struct Keys {
+ pub p256dh: String,
+ pub auth: String,
+}
+
+#[derive(serde::Deserialize)]
pub struct Echo {
pub msg: String,
+ pub endpoint: String,
+ pub expirationTime: Option<String>,
+ pub keys: Keys,
}