Estoy tratando de enviar datos binarios desde un servidor Node.js a un trabajador de servicio de JavaScript usando la API Web Push.
En el lado de Node.js, uso la biblioteca web-push y envío el mensaje con
webpush.sendNotification(subscription, buffer)Obtengo un estado 201 y recibo el mensaje push en el lado del navegador. Cuando miro el registro de Push Messaging en DevTools, incluso puedo ver la carga útil binaria (codificada como UTF-8), y dice que el mensaje fue encriptado.
Pero cuando trato de obtener ArrayBuffer en el trabajador de servicio de esta manera, event.data es null :
self.addEventListener('push', function (event) { console.log(event.data); }) No entiendo cómo los datos pueden ser null si fueron recibidos por el lado del cliente.