Add client handshake extra headers (#105)

Even though 6455 defines all the necessary headers needed for
client/server handshake, in practice most of the cases websocket servers
expect few more headers. Therefore adding this functionality.
This commit is contained in:
ozychhi
2019-08-26 11:37:40 -05:00
committed by Benjamin Sergeant
parent ff75846d2d
commit 93debc00dc
6 changed files with 34 additions and 12 deletions

View File

@ -127,8 +127,10 @@ namespace ix
}
// Client
WebSocketInitResult WebSocketTransport::connectToUrl(const std::string& url,
int timeoutSecs)
WebSocketInitResult WebSocketTransport::connectToUrl(
const std::string& url,
const std::unordered_map<std::string, std::string>& headers,
int timeoutSecs)
{
std::lock_guard<std::mutex> lock(_socketMutex);
@ -156,8 +158,8 @@ namespace ix
_perMessageDeflateOptions,
_enablePerMessageDeflate);
auto result = webSocketHandshake.clientHandshake(url, host, path, port,
timeoutSecs);
auto result = webSocketHandshake.clientHandshake(url, headers, host, path,
port, timeoutSecs);
if (result.success)
{
setReadyState(ReadyState::OPEN);