4

WireMock を使用して Web からの応答を記録および再生するプロキシ サービスを構築しています。私は最近、これら 2 つのモードが別々であることを発見したので、これらのサービスを並行して実行する Docker コンテナの小さなセットを構築しようとしています。

簡単に言うと、記録用に 1 つの WireMock をセットアップし、再生用に (別のポートに) 別のインスタンスを用意することを計画しています。cron でマッピングを定期的にコピーし、reset API 呼び出しを再生インスタンスに送信して、新しい定義をリロードします。

というわけで、現在レコーダーの製作中です。特定のサイトから記録する簡単な方法は次のとおりです。

java -jar wiremock-standalone-2.4.1.jar \
    --port 8080 \
    --proxy-all="http://www.example.com/" \
    --record-mappings \
    --verbose

ただし、実際には、送信したものをすべて記録したいのに、長時間実行されるインスタンスを www.example.com にロックします。パラメーターなしで使用--proxy-allすると機能しません (おそらく WireMock 自体によって発行された、HTTP クライアントで 500 エラーが発生します)。

--proxy-all一方、省略すると 404 が返されます。これは、おそらく WireMock がどこに移動するかを認識していないためです。したがって、次のようなことをしたいと思います:

--proxy-all=*

これがコマンド ラインでサポートされていると言うドキュメントが見当たらないので、管理 API でこれがサポートされているのだろうか 別の方法は、指定したプロキシ URL で WireMock を停止および再起動する独自の API を構築することですが、それが既に実装されている場合は、車輪を再発明したくありません。

別の質問で述べたように、代わりに Mountebank を使用することも選択肢の 1 つかもしれません。このための API があるようです。しかし、それはもっと複雑に見えます。私は WireMock の 90% を達成しているので、できればそれを使い続けたいと思っています。

4

1 に答える 1