Přeskočit na obsah

SSE (Server-Sent Events)

Server-Sent Events jsou jednosměrný stream nad HTTP: server posílá, klient poslouchá. Restorm z nich dělá plnohodnotný typ požadavku.

Klikněte pravým tlačítkem ve stromu ▸ Přidat ▸ Požadavek SSE.

Připojená karta SSE: vpravo se každá přijatá událost objeví se svou časovou značkou, svým názvem („ping“) a svým payloadem (pořadovým číslem).

PoleRole
URLKoncový bod streamu
HlavičkyHlavičky úvodního požadavku — právě tudy jde ověřování
Poslední ID událostiPočáteční hodnota hlavičky Last-Event-ID, posílaná jen při prvním připojení

Restorm se drží specifikace EventSource: analyzuje pole event:, data:, id: a retry: a zobrazuje každou přijatou událost s její časovou značkou, názvem a payloadem — kliknutím na událost se rozbalí její celý obsah. Identifikátor si pamatuje pro opětovné připojení.

Při přerušení odešle opětovné připojení automaticky znovu poslední přijatý identifikátor v hlavičce Last-Event-ID — právě to umožňuje serveru pokračovat tam, kde skončil.

Stream je pouze pro příjem: po otevření připojení není co odesílat.

Dvě akce: Připojení SSE (výstupy connected a message, jedno vyslání na každou přijatou událost) a Zavřít připojení SSE. Viz Připojení a streamy.

Obvyklý vzorec: otevřít stream, vyvolat obchodní akci voláním HTTP a potom assercí zkontrolovat, že očekávaná událost skutečně přijde na port message.

Tři cíle: cURL, EventSource prohlížeče, Python (requests ve streamovacím režimu).