Switches the connection to a new protocol and returns the resulting ConnectionStream.
The caller caller gets ownership of the ConnectionStream and is responsible for closing it.
When using the overload that returns a
ConnectionStream, the caller
must make sure that the stream is not used after the
HTTPClientRequest has been destroyed.
|new_protocol||The protocol to which the connection is expected to upgrade. Should match the Upgrade header of the request. If an empty string is passed, the "Upgrade" header will be ignored and should be checked by other means.|