iSulad: inernal change fix bug in websocket

Signed-off-by: LiFeng <lifeng68@huawei.com>
This commit is contained in:
LiFeng 2020-02-06 21:39:20 -05:00 committed by WangFengTu
parent 5bd893e34e
commit 43555b4437

View File

@ -217,7 +217,8 @@ int WebsocketServer::DumpHandshakeInfo(struct lws *wsi) noexcept
lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI); lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI);
if (strlen(buf) == 0) { if (strlen(buf) == 0) {
lws_close_reason(wsi, LWS_CLOSE_STATUS_PROTOCOL_ERR, (unsigned char *)("Invalid URL"), strlen("Invalid URL")); ERROR("invalid url");
CloseWsSession(wsi);
return -1; return -1;
} }
@ -264,10 +265,7 @@ int WebsocketServer::Wswrite(struct lws *wsi, void *in, size_t len)
auto it = m_wsis.find(wsi); auto it = m_wsis.find(wsi);
if (it != m_wsis.end()) { if (it != m_wsis.end()) {
if (it->second.close) { if (it->second.close) {
const std::string closeMsg = "websocket session disconnected"; DEBUG("websocket session disconnected");
DEBUG(closeMsg.c_str());
lws_close_reason(wsi, LWS_CLOSE_STATUS_GOINGAWAY, (unsigned char *)(closeMsg.c_str()),
closeMsg.length());
return -1; return -1;
} }
it->second.buf_mutex->lock(); it->second.buf_mutex->lock();