Aller au contenu

Hostovani serveri

Ove akcije rade suprotno od ostalih: umesto da pozovu servis, one ga hostuju za vreme trajanja scenarija.

Tipičan slučaj upotrebe: testiranje webhook-a. Scenario otvara server, pokreće poslovni poziv, čeka da dolazni poziv stigne i proverava njegov sadržaj — sve to u jednom jedinom grafu.

Akcija osluškivanja ima dva izlaza:

IzlazEmisija
connectedSignal, jednom, kada server počne da sluša
servedPo jedna emisija za svaki posluženi dolazni poziv, koja nosi { request, response }

Primetite da nema izlaza response: ove kutije ne obavljaju poziv, one ga primaju.

Kao i kod veza, uključite „Odigraj ponovo pri svakom primljenom događaju” na kutijama povezanim na served da biste obradili sve pozive, a ne samo prvi.

HTTP server ──connected──► HTTP zahtev „pokreni webhook”
└────────served──────► Assert nad request.body.event
pa ──► Zatvaranje HTTP servera
OsluškivanjeZatvaranjeProtokol
HTTP serverZatvaranje HTTP serveraHTTP
gRPC serverZatvaranje gRPC serveragRPC
SOAP serverZatvaranje SOAP serveraSOAP — usmeravanje po SOAPAction-u ili nazivu operacije
GraphQL serverZatvaranje GraphQL serveraGraphQL — poslužuje SDL i podešene rezolvere
OData serverZatvaranje OData serveraOData — primenjuje $filter, $select, $orderby, $top, $skip, $count, $expand, $batch

Dva dodatna zatvaranja odnose se na servere iz WebSocket porodice: Zatvaranje WebSocket servera i Zatvaranje Socket.IO servera — vidite Veze i tokovi.

Odgovor je onaj podešen na zahtevu kojim akcija upravlja: status, zaglavlja i telo u HTTP-u, simulirane metode u gRPC-u, operacije u SOAP-u, rezolveri u GraphQL-u, podaci u OData-i.

{{variables}} se razrešavaju u trenutku posluživanja: izmena promenljive dok server sluša menja sledeći odgovor. Vidite Serverski režim.

Restorm otvara samo jedan soket po portu i usmerava prema prirodi poziva. HTTP server za simulaciju i WebSocket server mogu dakle zajedno da slušaju na :8080.

Port se oslobađa pri zaustavljanju svoje poslednje rute.