void WebSocketManager::retrieveWsAddressFinished() { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); QByteArray data = reply->readAll(); reply->deleteLater(); QByteArray webSocketPath = data.mid(0, data.indexOf(":")); QUrl wsUrl(m_settings->value("event_url", kEventUrl).toUrl()); wsUrl.setScheme("ws"); QString path(kWsPath); path.append(webSocketPath); wsUrl.setPath(path); if (m_webSocket) m_webSocket->deleteLater(); m_webSocket = new QWebSocket(); connect(m_webSocket, &QWebSocket::connected, this, &WebSocketManager::webSocketConnected); connect(m_webSocket, &QWebSocket::disconnected, this, &WebSocketManager::webSocketDisconnected); m_webSocket->open(wsUrl); }
void MainWindow::wsConnect(const QString &address) { if (_webSocket != NULL) { delete _webSocket; } QUrl url(address); QUrl wsUrl(url); wsUrl.setScheme("ws"); wsUrl.setPath("/ws"); _webSocket = new QWebSocket(address); connect(_webSocket, &QWebSocket::connected, this, &MainWindow::onConnected); connect(_webSocket, &QWebSocket::disconnected, this, &MainWindow::onDisconnected); connect(_webSocket, &QWebSocket::stateChanged, this, &MainWindow::onWebSocketStateChange); _webSocket->open(wsUrl); }
DLLEXPORT int STDCALL FPDFLink_GetURL(FPDF_PAGELINK link_page, int link_index, unsigned short* buffer, int buflen) { CFX_WideString wsUrl(L""); if (link_page && link_index >= 0) { CPDF_LinkExtract* pageLink = CPDFLinkExtractFromFPDFPageLink(link_page); wsUrl = pageLink->GetURL(link_index); } CFX_ByteString cbUTF16URL = wsUrl.UTF16LE_Encode(); int required = cbUTF16URL.GetLength() / sizeof(unsigned short); if (!buffer || buflen <= 0) return required; int size = std::min(required, buflen); if (size > 0) { int buf_size = size * sizeof(unsigned short); FXSYS_memcpy(buffer, cbUTF16URL.GetBuffer(buf_size), buf_size); } return size; }
TEST_F(WebSocketMessagingStubFactoryTest, convertWebSocketAddressToUrl) { joynr::system::QtWebSocketAddress wsAddress( joynr::system::QtWebSocketProtocol::WS, "localhost", 42, "/some/path/" ); QUrl expectedWsUrl(QString("ws://localhost:42/some/path/")); QUrl wsUrl(WebSocketMessagingStubFactory::convertWebSocketAddressToUrl(wsAddress)); EXPECT_EQ(expectedWsUrl, wsUrl); joynr::system::QtWebSocketAddress wssAddress( joynr::system::QtWebSocketProtocol::WSS, "localhost", 42, "/some/path" ); QUrl expectedWssUrl(QString("wss://localhost:42/some/path")); QUrl wssUrl(WebSocketMessagingStubFactory::convertWebSocketAddressToUrl(wssAddress)); EXPECT_EQ(expectedWssUrl, wssUrl); }