Pular para o conteúdo

Servidores alojados

Estas ações fazem o inverso das restantes: em vez de chamarem um serviço, alojam um durante a duração do cenário.

O caso de uso típico: testar um webhook. O cenário abre um servidor, aciona a chamada de negócio, espera que a chamada de entrada chegue e verifica o seu conteúdo — tudo num único grafo.

Uma ação de escuta tem duas saídas:

SaídaEmissão
connectedUm sinal, uma vez, quando o servidor começa a escutar
servedUma emissão por cada chamada de entrada servida, que transporta { request, response }

Note que não existe saída response: estas caixas não fazem chamadas, recebem-nas.

Tal como nas ligações, ative “Repetir a cada evento recebido” nas caixas ligadas a served para processar todas as chamadas e não apenas a primeira.

Servidor HTTP ──connected──► Pedido HTTP “acionar o webhook”
└────────served───────► Assert sobre request.body.event
depois ──► Fecho do servidor HTTP
EscutarFecharProtocolo
Servidor HTTPFecho do servidor HTTPHTTP
Servidor gRPCFecho do servidor gRPCgRPC
Servidor SOAPFecho do servidor SOAPSOAP — encaminhamento por SOAPAction ou nome de operação
Servidor GraphQLFecho do servidor GraphQLGraphQL — serve o SDL e os resolvedores configurados
Servidor ODataFecho do servidor ODataOData — aplica $filter, $select, $orderby, $top, $skip, $count, $expand, $batch

Duas ações de fecho adicionais dizem respeito aos servidores da família WebSocket: Fecho do servidor WebSocket e Fecho do servidor Socket.IO — consulte Ligações e fluxos.

A resposta é a que está configurada no pedido que a ação comanda: estado, cabeçalhos e corpo em HTTP, métodos simulados em gRPC, operações em SOAP, resolvedores em GraphQL, dados em OData.

As {{variables}} são resolvidas no momento de servir: alterar uma variável enquanto o servidor está a escutar muda a resposta seguinte. Consulte Modo servidor.

O Restorm abre apenas um socket por porta e encaminha conforme a natureza da chamada. Um servidor HTTP de simulação e um servidor WebSocket podem, por isso, escutar em conjunto em :8080.

A porta é libertada quando a sua última rota é encerrada.