Перейти до вмісту

Розміщені сервери

Ці дії роблять протилежне до решти: замість того щоб викликати службу, вони розміщують її на час сценарію.

Типовий випадок застосування — перевірка webhook. Сценарій відкриває сервер, запускає предметний виклик, чекає, поки надійде вхідний виклик, і перевіряє його вміст — і все це в одному графі.

Дія прослуховування має два виходи:

ВихідЕмісія
connectedСигнал, один раз, коли сервер починає слухати
servedОдна емісія на кожен обслужений вхідний виклик, що несе { request, response }

Зауважте, що виходу response немає: ці блоки не роблять викликів, вони їх отримують.

Так само, як для з’єднань, увімкніть «Повторювати на кожну отриману подію» на блоках, під’єднаних до served, щоб обробляти всі виклики, а не лише перший.

Сервер HTTP ──connected──► Запит HTTP «запустити webhook»
└────────served──────► Assert на request.body.event
потім ──► Закриття сервера HTTP
СлухатиЗакритиПротокол
Сервер HTTPЗакриття сервера HTTPHTTP
Сервер gRPCЗакриття сервера gRPCgRPC
Сервер SOAPЗакриття сервера SOAPSOAP — маршрутизація за SOAPAction або назвою операції
Сервер GraphQLЗакриття сервера GraphQLGraphQL — видає SDL і налаштовані резолвери
Сервер ODataЗакриття сервера ODataOData — застосовує $filter, $select, $orderby, $top, $skip, $count, $expand, $batch

Ще дві дії закриття стосуються серверів родини WebSocket: Закриття сервера WebSocket і Закриття сервера Socket.IO — див. З’єднання та потоки.

Відповідь — та, що налаштована на самому запиті, яким керує дія: статус, заголовки й тіло для HTTP, імітовані методи для gRPC, операції для SOAP, резолвери для GraphQL, дані для OData.

{{variables}} обчислюються в момент відповіді: зміна змінної, поки сервер слухає, змінює наступну відповідь. Див. Режим сервера.

Спільне використання порту

Section titled “Спільне використання порту”

Restorm відкриває лише один сокет на порт і маршрутизує залежно від природи виклику. Тож сервер симуляції HTTP і сервер WebSocket можуть слухати разом на :8080.

Порт звільняється, коли зупиняється його останній маршрут.