Üzemeltetett kiszolgálók
Ezek a műveletek a többivel ellentétes irányban működnek: nem meghívnak egy szolgáltatást, hanem üzemeltetnek egyet a forgatókönyv futásának idejére.
A tipikus felhasználás egy webhook tesztelése. A forgatókönyv kiszolgálót nyit, elindítja az üzleti hívást, megvárja a bejövő hívás megérkezését, és ellenőrzi a tartalmát — mindezt egyetlen gráfban.
A közös minta
Section titled “A közös minta”Egy figyelő műveletnek két kimenete van:
| Kimenet | Kibocsátás |
|---|---|
connected | Egyetlen jelzés, egyszer, amikor a kiszolgáló figyel |
served | Egy kibocsátás minden kiszolgált bejövő hívásra, { request, response } tartalommal |
Fontos, hogy response kimenet nincs: ezek a blokkok nem hívást
indítanak, hanem hívást fogadnak.
A kapcsolatokhoz hasonlóan a served portra kötött blokkokon be kell kapcsolni
az „Újrajátszás minden fogadott eseménynél” lehetőséget, hogy ne csak az
első, hanem az összes hívás feldolgozásra kerüljön.
HTTP-kiszolgáló ──connected──► HTTP-kérés „a webhook kiváltása” └────────served───────► Assert a request.body.event értékére majd ──► HTTP-kiszolgáló bezárásaAz elérhető párok
Section titled “Az elérhető párok”| Figyelés | Bezárás | Protokoll |
|---|---|---|
| HTTP-kiszolgáló | HTTP-kiszolgáló bezárása | HTTP |
| gRPC-kiszolgáló | gRPC-kiszolgáló bezárása | gRPC |
| SOAP-kiszolgáló | SOAP-kiszolgáló bezárása | SOAP — a SOAPAction fejléc vagy a művelet neve szerint irányít |
| GraphQL-kiszolgáló | GraphQL-kiszolgáló bezárása | GraphQL — a beállított SDL-t és feloldókat szolgálja ki |
| OData-kiszolgáló | OData-kiszolgáló bezárása | OData — alkalmazza a $filter, $select, $orderby, $top, $skip, $count, $expand, $batch opciókat |
Két további bezáró művelet a WebSocket-család kiszolgálóit érinti: WebSocket-kiszolgáló bezárása és Socket.IO-kiszolgáló bezárása — lásd: Kapcsolatok és folyamok.
Amit a kiszolgáló válaszol
Section titled “Amit a kiszolgáló válaszol”A kiszolgáló azt a választ adja, amely a művelet által vezérelt kérésen van beállítva: HTTP esetén státusz, fejlécek és törzs, gRPC esetén a szimulált metódusok, SOAP esetén a műveletek, GraphQL esetén a feloldók, OData esetén az adatok.
A {{variables}} a kiszolgálás pillanatában oldódnak fel: ha egy változó
megváltozik, miközben a kiszolgáló figyel, a következő válasz is más lesz.
Lásd: Kiszolgálómód.
Portmegosztás
Section titled “Portmegosztás”A Restorm portonként csak egyetlen socketet nyit, és a hívás jellege
szerint irányít. Egy szimulációs HTTP-kiszolgáló és egy WebSocket-kiszolgáló
tehát együtt is figyelhet a :8080 porton.
A port a legutolsó útvonalának leállásakor szabadul fel.