Gateway-local Web Push (RFC 8291 and RFC 8292).
Each gateway owns one generated VAPID P-256 key pair in its own ~/.vis
home. The browser gets this gateway's public key, registers its subscription
here, and this gateway encrypts and sends notifications directly to the
browser's push service. There is no publisher URL or shared web relay.
Java interop is kept at the cryptographic and file boundaries. The rest of the namespace passes ordinary Clojure maps and byte arrays between small helpers so the protocol steps remain visible and testable.
Gateway-local Web Push (RFC 8291 and RFC 8292). Each gateway owns one generated VAPID P-256 key pair in its own `~/.vis` home. The browser gets this gateway's public key, registers its subscription here, and this gateway encrypts and sends notifications directly to the browser's push service. There is no publisher URL or shared web relay. Java interop is kept at the cryptographic and file boundaries. The rest of the namespace passes ordinary Clojure maps and byte arrays between small helpers so the protocol steps remain visible and testable.
(config)Return public Web Push configuration without private key material.
Calling this ensures that a gateway has a stable VAPID identity. The
private key remains on disk and is only used by send!.
Return public Web Push configuration without private key material. Calling this ensures that a gateway has a stable VAPID identity. The private key remains on disk and is only used by `send!`.
(configured?)True when this gateway can encrypt and authenticate Web Push requests.
True when this gateway can encrypt and authenticate Web Push requests.
(key-file)Return the private VAPID key path owned by this gateway.
The companion never receives this file; only the derived public key is exposed through the gateway capability response.
Return the private VAPID key path owned by this gateway. The companion never receives this file; only the derived public key is exposed through the gateway capability response.
(send! token notification)Encrypt and send one browser notification directly from this gateway.
token is the JSON subscription stored by push/register-device!.
Returns {:status int :reason string} and never lets a provider or
transport exception escape into the gateway event loop.
Encrypt and send one browser notification directly from this gateway.
`token` is the JSON subscription stored by `push/register-device!`.
Returns `{:status int :reason string}` and never lets a provider or
transport exception escape into the gateway event loop.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |