48 std::string selectedSubProtocolName;
50 for (
const std::string& subProtocolName : subProtocolNames) {
51 subProtocolFactory = SubProtocolFactorySelector::instance()->select(subProtocolName, SubProtocolFactorySelector::Role::SERVER);
53 if (subProtocolFactory !=
nullptr) {
54 subProtocol = subProtocolFactory->createSubProtocol(
this);
55 selectedSubProtocolName = subProtocol !=
nullptr ? subProtocolName :
"";
58 if (!selectedSubProtocolName.empty()) {
63 return selectedSubProtocolName;
SocketContextUpgrade(core::socket::stream::SocketConnection *socketConnection, web::http::SocketContextUpgradeFactory< web::http::server::Request, web::http::server::Response > *socketContextUpgradeFactory)
~SocketContextUpgrade() override
web::websocket::SubProtocolFactory< SubProtocol > * subProtocolFactory
std::string loadSubProtocol(const std::list< std::string > &subProtocolNames)