コンテンツにスキップ

ホストするサーバー

これらのアクションは他のアクションとは逆向きに働きます。 サービスを呼び出すのではなく、シナリオが動いている間そのサービスをホストします。

典型的な用途は webhook のテストです。シナリオがサーバーを開き、業務処理を起動し、 着信を待ち受け、その内容を検証します。これらすべてを 1 つのグラフの中で行えます。

待ち受け系のアクションには 2 つの出力があります。

出力発行内容
connectedサーバーが待ち受けを始めたときに一度だけ発行されるシグナル
served応答した着信ごとに 1 回発行され、{ request, response } を載せます

response 出力はありません。これらのボックスは呼び出しを行うのではなく、受け取る側だからです。

接続系と同じように、served に接続したボックスでは **「イベントを受信するたびに実行」**を有効にしてください。 そうしないと最初の呼び出しだけが処理されます。

HTTP サーバー ──connected──► HTTP リクエスト「webhook を起動する」
└─────────served──────► request.body.event に対する Assert
その後 ──► HTTP サーバーを閉じる
待ち受けクローズプロトコル
HTTP サーバーHTTP サーバーを閉じるHTTP
gRPC サーバーgRPC サーバーを閉じるgRPC
SOAP サーバーSOAP サーバーを閉じるSOAPSOAPAction または操作名で振り分け
GraphQL サーバーGraphQL サーバーを閉じるGraphQL — 設定した SDL とリゾルバーを提供
OData サーバーOData サーバーを閉じるOData$filter$select$orderby$top$skip$count$expand$batch に対応

WebSocket 系のサーバーには、さらに 2 つのクローズアクションがあります。 WebSocket サーバーを閉じるSocket.IO サーバーを閉じるです — 接続とストリーミングを参照してください。

返されるレスポンスは、そのアクションが動かすリクエストに設定されたものです。 HTTP ならステータス、ヘッダー、ボディ。gRPC ならモックされたメソッド。 SOAP なら操作。GraphQL ならリゾルバー。OData ならデータです。

{{variables}}応答する時点で解決されます。サーバーが待ち受けている間に変数を変更すれば、 次のレスポンスが変わります。サーバーモードを参照してください。

Restorm は1 つのポートにソケットを 1 つだけ開き、呼び出しの性質に応じて振り分けます。 そのため、シミュレーション用の HTTP サーバーと WebSocket サーバーが :8080 で一緒に待ち受けられます。

ポートが解放されるのは、そこに登録された最後のルートが停止したときです。