Aller au contenu

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.

Une action d’écoute a deux sorties :

SortieÉmission
connectedUn signal, une fois, quand le serveur écoute
servedUne é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 HTTP
ÉcouterFermerProtocole
Serveur HTTPFermeture serveur HTTPHTTP
Serveur gRPCFermeture serveur gRPCgRPC
Serveur SOAPFermeture serveur SOAPSOAP — aiguillage par SOAPAction ou nom d’opération
Serveur GraphQLFermeture serveur GraphQLGraphQL — sert le SDL et les résolveurs configurés
Serveur ODataFermeture serveur ODataOData — 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.

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.

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.