Gå til indhold

SSE (Server-Sent Events)

Server-Sent Events er en ensrettet HTTP-strøm: serveren skubber, klienten lytter. Restorm gør det til en fuldgyldig anmodningstype.

Højreklik i træstrukturen ▸ Tilføj ▸ SSE-anmodning.

En forbundet SSE-fane: til højre vises hver modtaget hændelse med sit tidsstempel, sit navn (»ping«) og sin payload (et sekvensnummer).

FeltRolle
URLStrømmens endpoint
HeadereHeaderne i åbningsanmodningen — det er her, godkendelsen ligger
Sidste hændelses-idStartværdi for headeren Last-Event-ID, som kun bliver sendt ved den første forbindelse

Restorm følger EventSource-specifikationen: den fortolker felterne event:, data:, id: og retry: og viser hver modtaget hændelse med tidsstempel, navn og payload — et klik på en hændelse folder hele indholdet ud. Id’et bliver til gengæld gemt til genforbindelsen.

Bliver forbindelsen afbrudt, sender genforbindelsen automatisk det senest modtagne id med i Last-Event-ID — det er det, der lader serveren fortsætte, hvor den slap.

Strømmen er kun til modtagelse: der er ikke noget at sende, når forbindelsen først er åben.

To handlinger: SSE-forbindelse (udgangene connected og message, én udsendelse per modtaget hændelse) og Luk SSE-forbindelse. Se Streaming-forbindelser.

Det sædvanlige mønster: åbn strømmen, udløs forretningshandlingen med et HTTP-kald, og kontrollér derefter med en assertion, at den forventede hændelse faktisk kommer ind på porten message.

Tre mål: cURL, browserens EventSource, Python (requests i streaming-tilstand).