Enable validation according to WebSocket resource and origin.
This commit is contained in:
@@ -36,8 +36,10 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
ServerAcceptWebHelper::ServerAcceptWebHelper(ServerCallback &serverCallback, boost::shared_ptr<boost::asio::io_service> ioService)
|
||||
: m_ioService(ioService), m_serverCallback(serverCallback)
|
||||
ServerAcceptWebHelper::ServerAcceptWebHelper(ServerCallback &serverCallback, boost::shared_ptr<boost::asio::io_service> ioService,
|
||||
const string &webSocketResource, const string &webSocketOrigin)
|
||||
: m_ioService(ioService), m_serverCallback(serverCallback),
|
||||
m_webSocketResource(webSocketResource), m_webSocketOrigin(webSocketOrigin)
|
||||
{
|
||||
m_webSocketServer.reset(new server);
|
||||
}
|
||||
@@ -71,9 +73,15 @@ ServerAcceptWebHelper::Close()
|
||||
}
|
||||
|
||||
bool
|
||||
ServerAcceptWebHelper::validate(websocketpp::connection_hdl /*hdl*/)
|
||||
ServerAcceptWebHelper::validate(websocketpp::connection_hdl hdl)
|
||||
{
|
||||
return true;
|
||||
bool retVal = false;
|
||||
server::connection_ptr con = m_webSocketServer->get_con_from_hdl(hdl);
|
||||
if ((m_webSocketResource.empty() || con->get_resource() == m_webSocketResource)
|
||||
&& (m_webSocketOrigin.empty() || (con->get_origin() != "null" && con->get_origin() == m_webSocketOrigin))) {
|
||||
retVal = true;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user