← Syzygy

Bead, en démo

Un client et un serveur, par WebSocket ou par HTTP, sur un seul port. Un client, et son serveur dans un Web Worker de la page : rien d’autre ne répond que les fichiers. Chaque bouton fait un appel ; les journaux montrent l’appel et ses enveloppes, vus du client : → part, ← arrive.

État

Transport
WebSocket · HTTP · Web Worker, sans serveur — en HTTP, ce que le serveur envoie de lui-même revient par une écoute longue, un GET qu’il tient jusqu’à 30 s et que la page relance dès qu’il rend ; en Web Worker, le serveur Bead et le fournisseur d’identité tournent dans la page même.
Connexion
en cours…
Identité
aucune session
Compteur
—
Rafale
—
Résultat
—

Identité

Un faux fournisseur d’identité signe un JWT ; login le vérifie et range ses droits dans la session. Lire demande une session, écrire la permission write.

Appels

Bordure orange : une écriture, refusée sans la permission. Abonné, une rafale de cinq incréments arrive en deux notifications du compteur, cadencé par le protocole — la première, puis la dernière — et en cinq signaux que la page fusionne en deux lectures.

Appels, du plus récent

Dans la console aussi, sans recharger : localStorage.setItem('bead:debug', '*'), ou un filtre comme d(rx), t(n), -token ; removeItem l’arrête.

    Enveloppes, du plus récent