Pular para o conteúdo

SSE (Server-Sent Events)

Os Server-Sent Events são um stream HTTP unidirecional: o servidor envia, o cliente escuta. O Restorm faz deles um tipo de pedido de pleno direito.

Clique com o botão direito na árvore ▸ Adicionar ▸ Pedido SSE.

Um separador SSE ligado: à direita, cada evento recebido aparece com a sua hora, o seu nome (“ping”) e o seu payload (um número de sequência).

CampoFunção
URLO endpoint do stream
CabeçalhosOs cabeçalhos do pedido de abertura — é aqui que passa a autenticação
Último identificador de eventoValor inicial do cabeçalho Last-Event-ID, enviado apenas na primeira ligação

O Restorm segue a especificação EventSource: analisa os campos event:, data:, id: e retry: e apresenta cada evento recebido com a sua hora, o seu nome e o seu payload — um clique num evento revela o conteúdo completo. Quanto ao identificador, este é guardado para a nova ligação.

Em caso de interrupção, a nova ligação reenvia automaticamente o último identificador recebido em Last-Event-ID — é isto que permite ao servidor retomar onde ficou.

O stream é apenas de receção: não há nada a enviar depois de a ligação estar aberta.

Duas ações: Ligação SSE (saídas connected e message, uma emissão por evento recebido) e Fecho da ligação SSE. Consulte Ligações e fluxos.

A abordagem habitual: abrir o stream, desencadear a ação de negócio com uma chamada HTTP e depois verificar com uma asserção que o evento esperado chega mesmo à porta message.

Três alvos: cURL, EventSource do navegador, Python (requests em stream).