diff options
author | Luca Niccoli <lultimouomo@gmail.com> | 2015-05-04 14:13:14 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-05-26 07:50:50 +0000 |
commit | 3da642b723667e8ba349291c2a98feca121244bb (patch) | |
tree | 3403d2931f7ba1b727bf6639fcc202e83d6a8dea /tests/auto | |
parent | b25dc4141782776ff321400c204a27ab3adbcea6 (diff) | |
download | qtwebsockets-3da642b723667e8ba349291c2a98feca121244bb.tar.gz |
Send and parse headers for the handshake request
Task-number: QTBUG-40842
Change-Id: I02787a0e55701966e564a312d51297f4160bd89a
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qwebsocket/tst_qwebsocket.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/auto/qwebsocket/tst_qwebsocket.cpp b/tests/auto/qwebsocket/tst_qwebsocket.cpp index 2422012..4a0e06b 100644 --- a/tests/auto/qwebsocket/tst_qwebsocket.cpp +++ b/tests/auto/qwebsocket/tst_qwebsocket.cpp @@ -52,6 +52,7 @@ public: Q_SIGNALS: void newConnection(QUrl requestUrl); + void newConnection(QNetworkRequest request); private Q_SLOTS: void onNewConnection(); @@ -87,6 +88,7 @@ void EchoServer::onNewConnection() QWebSocket *pSocket = m_pWebSocketServer->nextPendingConnection(); Q_EMIT newConnection(pSocket->requestUrl()); + Q_EMIT newConnection(pSocket->request()); connect(pSocket, SIGNAL(textMessageReceived(QString)), this, SLOT(processTextMessage(QString))); connect(pSocket, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(processBinaryMessage(QByteArray))); @@ -589,17 +591,23 @@ void tst_QWebSocket::tst_openRequest() QWebSocket socket; QSignalSpy socketConnectedSpy(&socket, SIGNAL(connected())); + QSignalSpy serverRequestSpy(&echoServer, SIGNAL(newConnection(QNetworkRequest))); QUrl url = QUrl(QStringLiteral("ws://") + echoServer.hostAddress().toString() + QLatin1Char(':') + QString::number(echoServer.port())); url.addQueryItem("queryitem", "with encoded characters"); QNetworkRequest req(url); + req.setRawHeader("X-Custom-Header", "A custom header"); socket.open(req); if (socketConnectedSpy.count() == 0) QVERIFY(socketConnectedSpy.wait(500)); QCOMPARE(socket.state(), QAbstractSocket::ConnectedState); - + QCOMPARE(serverRequestSpy.count(), 1); + QList<QVariant> arguments = serverRequestSpy.takeFirst(); + QNetworkRequest requestConnected = arguments.at(0).value<QNetworkRequest>(); + QCOMPARE(requestConnected.url(), req.url()); + QCOMPARE(requestConnected.rawHeader("X-Custom-Header"), req.rawHeader("X-Custom-Header")); socket.close(); } |