mirror of
https://github.com/QuasarApp/qthttpserver.git
synced 2025-05-11 17:09:44 +00:00
Refactor QAbstractHttpServer::servers()
Change-Id: I11e7100dd5f25d6c02bef28f4c53ce3acc257390 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
This commit is contained in:
parent
c20d230bf2
commit
7df45b8ea6
@ -221,15 +221,7 @@ void QAbstractHttpServer::bind(QTcpServer *server)
|
||||
*/
|
||||
QVector<QTcpServer *> QAbstractHttpServer::servers() const
|
||||
{
|
||||
auto c = children();
|
||||
QVector<QTcpServer *> result;
|
||||
result.reserve(c.size());
|
||||
for (auto i = c.constBegin(); i != c.constEnd(); ++i) {
|
||||
if ((*i)->inherits("QTcpServer"))
|
||||
result.append(static_cast<QTcpServer*>(*i));
|
||||
}
|
||||
result.squeeze();
|
||||
return result;
|
||||
return findChildren<QTcpServer *>().toVector();
|
||||
}
|
||||
|
||||
#if defined(QT_WEBSOCKETS_LIB)
|
||||
|
@ -68,6 +68,7 @@ private slots:
|
||||
void request();
|
||||
void checkListenWarns();
|
||||
void websocket();
|
||||
void servers();
|
||||
};
|
||||
|
||||
void tst_QAbstractHttpServer::request_data()
|
||||
@ -153,6 +154,23 @@ void tst_QAbstractHttpServer::websocket()
|
||||
delete server.nextPendingWebSocketConnection();
|
||||
}
|
||||
|
||||
void tst_QAbstractHttpServer::servers()
|
||||
{
|
||||
struct HttpServer : QAbstractHttpServer
|
||||
{
|
||||
bool handleRequest(const QHttpServerRequest &, QTcpSocket *) override { return true; }
|
||||
} server;
|
||||
auto tcpServer = new QTcpServer;
|
||||
tcpServer->listen();
|
||||
server.bind(tcpServer);
|
||||
auto tcpServer2 = new QTcpServer;
|
||||
tcpServer2->listen();
|
||||
server.bind(tcpServer2);
|
||||
QTRY_COMPARE(server.servers().count(), 2);
|
||||
QTRY_COMPARE(server.servers().first(), tcpServer);
|
||||
QTRY_COMPARE(server.servers().last(), tcpServer2);
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QTEST_MAIN(tst_QAbstractHttpServer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user