On the initial connect/upgrade we need the ability to add custom headers (think IAM/Sigv4 for Neptune or custom auth outside of basic) and the ability to add query params to the URL.
websocket::ClientBuilder has 'custom_headers' on the builder to do this and connect_async_with_tls_connector can this by supplying a full request.
Looks like adding query params can be completed by enhancing the websocket_url function.
Is there any reason we shouldn't go ahead with adding these features?