Can I specify a --proxy-all parameter to WireMock to match any web site when recording?
我正在构建代理服务,以使用WireMock记录和播放Web上的响应。我最近发现这两种模式是分开的,因此我试图构建一小组Docker容器来并行运行这些服务。
简而言之,我的计划是设置一个WireMock进行记录,然后让另一个实例(在另一个端口上)进行回放。我将定期在cron上将映射从一个映射复制到另一个映射,然后将reset API调用发送到播放实例以重新加载新的定义。
因此,我目前正在录音机上工作。从特定站点进行记录的一种简单方法是执行以下操作:
1 2 3 4 5 | java -jar wiremock-standalone-2.4.1.jar \\ --port 8080 \\ --proxy-all="http://www.example.com/" \\ --record-mappings \\ --verbose |
但是,这将长时间运行的实例锁定到www.example.com,而实际上我希望它记录我发送给它的任何内容。使用不带参数的
另一方面,
省略
1 | --proxy-all=* |
我在命令行上看不到任何文档说支持此功能,所以我想知道admin API是否支持此功能?另一种选择是让我构建自己的API,以在指定的代理URL上停止并重新启动WireMock,但是如果已经实现,我宁愿不重新发明轮子。
正如我在另一个问题上所说,使用Mountebank可能是一种选择,因为它似乎有一个API。但是,这似乎涉及更多,并且由于我有90%的WireMock经验,所以我会尽可能坚持下去。
我已通过在带有自动重新启动选项的Supervisor的外壳程序包装中运行WireMock,然后在API上调用
shell包装器使用通过