Hi folks,
WireMock COVID edition is now released! It's been quite a long time coming, but there's quite a lot of good stuff in there.
First and foremost, thanks to some very heavy lifting from Rob Elliot, HTTPS browser (forward) proxying is now possible. Thanks Rob!
Other changes:
- Added support for matching on hostname, port and scheme, enabling stubbing of multiple domains in one WireMock instance while forward proxying.
- Significantly improved the performance of the unmatched request diff reporter (10 - 30x according to my cursory tests)
- Added verify with count matching strategy to the instance DSL - thanks Lukas Gemela
- Added a config toggle for stub CORS headers
- Changed the XPath matching approach so that namespaced XML elements can be matched by their local names (without resorting to the local-name() function).
- Added support for suppressing specific match operations within equalToXml, to fine-tune how XML documents are matched.
- Deprecated request.requestLine in the template model and moved all of its methods up to request (because I found repeatedly typing requestLine pretty irritating)
- Made fetching of headers in response templates case-insensitive - thanks Torben Krieger
- Made the xPath Handlebars helper return a list of nodes rather than a string, so that results can be iterated over with {{#each}}
- Added support for subclassing ResponseDefinition without breaking copy() - thanks Wojtek Bulaty
- Better diff reporting - includes scenario state mismatch and XPath/JSONPath sub-match diff.
- Fixed an issue where, in the presence of request filters, the original (rather than modified) request was being used to generate diff reports.
- Added {{pickRandom ...}} Handlebars helper to randomly select an item from a list.
- Added ability to set both the keystore and key manager passwords (previously you could only set the key manager, but misleadingly this was labelled as keystore password)
- Added ability to set the keystore type and trust store type from the CLI.