From 6f8955cdc2e8bcdeaa15a06d0f1badf13d14cb5c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 8 Oct 2019 20:37:59 +0300 Subject: first version of WA that connects --- src/mir_app/src/mir_app.def | 2 +- src/mir_app/src/netlib_websocket.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/mir_app') diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 21fcd8a36f..228fe4c0a6 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -718,4 +718,4 @@ _UnregisterSrmmLog@4 @806 NONAME ?GetType@CRtfLogWindow@@UAEHXZ @807 NONAME _WebSocket_Send@12 @808 NONAME _WebSocket_InitHeader@12 @809 NONAME -_WebSocket_Connect@8 @810 NONAME +_WebSocket_Connect@12 @810 NONAME diff --git a/src/mir_app/src/netlib_websocket.cpp b/src/mir_app/src/netlib_websocket.cpp index 64b5fda069..e7c67fe54f 100644 --- a/src/mir_app/src/netlib_websocket.cpp +++ b/src/mir_app/src/netlib_websocket.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "../../libs/zlib/src/zlib.h" -MIR_APP_DLL(HNETLIBCONN) WebSocket_Connect(HNETLIBUSER nlu, const char *szHost) +MIR_APP_DLL(HNETLIBCONN) WebSocket_Connect(HNETLIBUSER nlu, const char *szHost, NETLIBHTTPHEADER *pHeaders) { CMStringA tmpHost(szHost); @@ -67,9 +67,14 @@ MIR_APP_DLL(HNETLIBCONN) WebSocket_Connect(HNETLIBUSER nlu, const char *szHost) szBuf.AppendFormat("Pragma: no-cache\r\n"); szBuf.AppendFormat("Cache-Control: no-cache\r\n"); szBuf.AppendFormat("Connection: Upgrade\r\n"); - szBuf.AppendFormat("Sec-WebSocket-Key: KFShSwLlp4E6C7JZc5h4sg==\r\n"); szBuf.AppendFormat("Sec-WebSocket-Version: 13\r\n"); szBuf.AppendFormat("Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\r\n"); + if (pHeaders) { + while (pHeaders->szName != nullptr) { + szBuf.AppendFormat("%s: %s\r\n", pHeaders->szName, pHeaders->szValue); + pHeaders++; + } + } szBuf.AppendFormat("\r\n"); if (Netlib_Send(res, szBuf, szBuf.GetLength(), MSG_DUMPASTEXT) == SOCKET_ERROR) { Netlib_Logf(nlu, "Error establishing WebSocket connection to %s:%d, send failed", tmpHost.c_str(), conn.wPort); -- cgit v1.2.3