ホストするサーバー
これらのアクションは他のアクションとは逆向きに働きます。 サービスを呼び出すのではなく、シナリオが動いている間そのサービスをホストします。
典型的な用途は webhook のテストです。シナリオがサーバーを開き、業務処理を起動し、 着信を待ち受け、その内容を検証します。これらすべてを 1 つのグラフの中で行えます。
共通のパターン
Section titled “共通のパターン”待ち受け系のアクションには 2 つの出力があります。
| 出力 | 発行内容 |
|---|---|
connected | サーバーが待ち受けを始めたときに一度だけ発行されるシグナル |
served | 応答した着信ごとに 1 回発行され、{ request, response } を載せます |
response 出力はありません。これらのボックスは呼び出しを行うのではなく、受け取る側だからです。
接続系と同じように、served に接続したボックスでは
**「イベントを受信するたびに実行」**を有効にしてください。
そうしないと最初の呼び出しだけが処理されます。
HTTP サーバー ──connected──► HTTP リクエスト「webhook を起動する」 └─────────served──────► request.body.event に対する Assert その後 ──► HTTP サーバーを閉じる利用できるペア
Section titled “利用できるペア”| 待ち受け | クローズ | プロトコル |
|---|---|---|
| HTTP サーバー | HTTP サーバーを閉じる | HTTP |
| gRPC サーバー | gRPC サーバーを閉じる | gRPC |
| SOAP サーバー | SOAP サーバーを閉じる | SOAP — SOAPAction または操作名で振り分け |
| GraphQL サーバー | GraphQL サーバーを閉じる | GraphQL — 設定した SDL とリゾルバーを提供 |
| OData サーバー | OData サーバーを閉じる | OData — $filter、$select、$orderby、$top、$skip、$count、$expand、$batch に対応 |
WebSocket 系のサーバーには、さらに 2 つのクローズアクションがあります。 WebSocket サーバーを閉じると Socket.IO サーバーを閉じるです — 接続とストリーミングを参照してください。
サーバーが返す内容
Section titled “サーバーが返す内容”返されるレスポンスは、そのアクションが動かすリクエストに設定されたものです。 HTTP ならステータス、ヘッダー、ボディ。gRPC ならモックされたメソッド。 SOAP なら操作。GraphQL ならリゾルバー。OData ならデータです。
{{variables}} は応答する時点で解決されます。サーバーが待ち受けている間に変数を変更すれば、
次のレスポンスが変わります。サーバーモードを参照してください。
ポートの共有
Section titled “ポートの共有”Restorm は1 つのポートにソケットを 1 つだけ開き、呼び出しの性質に応じて振り分けます。
そのため、シミュレーション用の HTTP サーバーと WebSocket サーバーが
:8080 で一緒に待ち受けられます。
ポートが解放されるのは、そこに登録された最後のルートが停止したときです。