Server ospitati
Queste azioni fanno l’inverso delle altre: invece di chiamare un servizio, ne ospitano uno per la durata dello scenario.
Il caso d’uso tipico: verificare un webhook. Lo scenario apre un server, innesca la chiamata applicativa, attende che arrivi la chiamata in ingresso e verifica il suo contenuto — tutto in un unico grafo.
Lo schema comune
Section titled “Lo schema comune”Un’azione di ascolto ha due uscite:
| Uscita | Emissione |
|---|---|
connected | Un segnale, una volta sola, quando il server è in ascolto |
served | Un’emissione per ogni chiamata in ingresso servita, che porta { request, response } |
Si noti che non esiste un’uscita response: questi riquadri non effettuano
chiamate, le ricevono.
Come per le connessioni, conviene attivare «Riesegui a ogni evento ricevuto»
sui riquadri collegati a served per elaborare tutte le chiamate e non soltanto
la prima.
Server HTTP ──connected──► Richiesta HTTP «attivare il webhook» └────────served──────► Assert su request.body.event poi ──► Chiusura server HTTPLe coppie disponibili
Section titled “Le coppie disponibili”| Ascoltare | Chiudere | Protocollo |
|---|---|---|
| Server HTTP | Chiusura server HTTP | HTTP |
| Server gRPC | Chiusura server gRPC | gRPC |
| Server SOAP | Chiusura server SOAP | SOAP — smistamento tramite SOAPAction o nome di operazione |
| Server GraphQL | Chiusura server GraphQL | GraphQL — serve l’SDL e i resolver configurati |
| Server OData | Chiusura server OData | OData — applica $filter, $select, $orderby, $top, $skip, $count, $expand, $batch |
Due chiusure aggiuntive riguardano i server della famiglia WebSocket: Chiusura server WebSocket e Chiusura server Socket.IO — si veda Connessioni e flussi.
Che cosa risponde il server
Section titled “Che cosa risponde il server”La risposta è quella configurata sulla richiesta che l’azione pilota: stato, header e corpo in HTTP, metodi simulati in gRPC, operazioni in SOAP, resolver in GraphQL, dati in OData.
Le {{variables}} vengono risolte nel momento in cui la risposta viene
servita: modificare una variabile mentre il server è in ascolto cambia la
risposta successiva. Si veda Modalità server.
Condivisione della porta
Section titled “Condivisione della porta”Restorm apre un solo socket per porta e smista in base alla natura
della chiamata. Un server HTTP di simulazione e un server WebSocket possono
quindi ascoltare insieme su :8080.
La porta viene liberata all’arresto della sua ultima rotta.