Serveurs hébergés
Ces actions font l’inverse des autres : au lieu d’appeler un service, elles en hébergent un pendant la durée du scénario.
Le cas d’usage typique : tester un webhook. Le scénario ouvre un serveur, déclenche l’appel métier, attend que l’appel entrant arrive, et vérifie son contenu — le tout dans un seul graphe.
Le motif commun
Section titled “Le motif commun”Une action d’écoute a deux sorties :
| Sortie | Émission |
|---|---|
connected | Un signal, une fois, quand le serveur écoute |
served | Une émission par appel entrant servi, portant { request, response } |
Notez qu’il n’y a pas de sortie response : ces boîtes ne font pas
d’appel, elles en reçoivent.
Comme pour les connexions, activez « Rejouer à chaque événement reçu » sur
les boîtes branchées sur served pour traiter tous les appels et pas seulement
le premier.
Serveur HTTP ──connected──► Requête HTTP « déclencher le webhook » └────────served──────► Assert sur request.body.event puis ──► Fermeture serveur HTTPLes paires disponibles
Section titled “Les paires disponibles”| Écouter | Fermer | Protocole |
|---|---|---|
| Serveur HTTP | Fermeture serveur HTTP | HTTP |
| Serveur gRPC | Fermeture serveur gRPC | gRPC |
| Serveur SOAP | Fermeture serveur SOAP | SOAP — aiguillage par SOAPAction ou nom d’opération |
| Serveur GraphQL | Fermeture serveur GraphQL | GraphQL — sert le SDL et les résolveurs configurés |
| Serveur OData | Fermeture serveur OData | OData — applique $filter, $select, $orderby, $top, $skip, $count, $expand, $batch |
Deux fermetures supplémentaires concernent les serveurs de la famille WebSocket : Fermeture serveur WebSocket et Fermeture serveur Socket.IO — voir Connexions et flux.
Ce que le serveur répond
Section titled “Ce que le serveur répond”La réponse est celle configurée sur la requête que l’action pilote : statut, en-têtes et corps en HTTP, méthodes simulées en gRPC, opérations en SOAP, résolveurs en GraphQL, données en OData.
Les {{variables}} sont résolues au moment de servir : modifier une
variable pendant que le serveur écoute change la réponse suivante. Voir
Mode serveur.
Partage de port
Section titled “Partage de port”Restorm n’ouvre qu’une seule socket par port et aiguille selon la nature de
l’appel. Un serveur HTTP de simulation et un serveur WebSocket peuvent donc
écouter ensemble sur :8080.
Le port est libéré à l’arrêt de sa dernière route.