Like #5, but for the client, so something in Mojo::UserAgent.
- configurable, with callbacks for how to handle validation failure
- the default here would be that invalid outgoing requests should signal a logging error, potentially fatal if in a development or testing system, and failures on incoming responses would be processed on a best-effort basis with the error logged.
- store the openapi document on the useragent; results can be stored on the tx and therefore shared with the Test::Mojo role
- automatic validation can be added with event hooks ('start' in Mojo::UserAgent for processing the request and setting up the hook to receive the response: on 'finish' in Mojo::Transaction for processing the response)
Like #5, but for the client, so something in Mojo::UserAgent.