diff --git a/src/httpserver/qabstracthttpserver.cpp b/src/httpserver/qabstracthttpserver.cpp index 26e6e97..262ec9b 100644 --- a/src/httpserver/qabstracthttpserver.cpp +++ b/src/httpserver/qabstracthttpserver.cpp @@ -116,8 +116,8 @@ void QAbstractHttpServerPrivate::handleReadyRead(QTcpSocket *socket, return; } #endif + qCWarning(lcHttpServer, "Upgrade to %s not supported", it.value().second.constData()); } - qCWarning(lcHttpServer, "Upgrade to %s not supported", it.value().second.constData()); socket->disconnectFromHost(); return; } diff --git a/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp b/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp index bdb40a8..070f532 100644 --- a/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp +++ b/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp @@ -62,6 +62,7 @@ private slots: void websocket(); void servers(); void fork(); + void qtbug82053(); }; void tst_QAbstractHttpServer::request_data() @@ -244,6 +245,24 @@ void tst_QAbstractHttpServer::fork() #endif } +void tst_QAbstractHttpServer::qtbug82053() +{ + struct HttpServer : QAbstractHttpServer + { + bool handleRequest(const QHttpServerRequest &, QTcpSocket *) override { return false; } + } server; + auto tcpServer = new QTcpServer; + tcpServer->listen(); + server.bind(tcpServer); + + auto client = new QTcpSocket; + client->connectToHost(QHostAddress::LocalHost, tcpServer->serverPort()); + client->waitForConnected(); + client->write("CONNECT / HTTP/1.1\n\n"); + client->waitForBytesWritten(); + QTest::qWait(0); +} + QT_END_NAMESPACE QTEST_MAIN(tst_QAbstractHttpServer)