summaryrefslogtreecommitdiffstats
path: root/src/oauth/qoauthhttpserverreplyhandler.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2024-05-08 21:38:57 -0700
committerThiago Macieira <thiago.macieira@intel.com>2024-05-13 11:14:57 -0700
commit561df44cade81c05721d076ceff0b0813e883f4a (patch)
tree765054e7832a72378db29e641e80b102dec375ab /src/oauth/qoauthhttpserverreplyhandler.cpp
parent1e1d989eb300d8246629174a1a91b228a8487f0f (diff)
QOAuthHttpServerReplyHandler: avoid triple QMap lookup foe new clients
1. contains() 2. operator[] 3. operator[] again Pick-to: 6.7 Change-Id: Ie30a3caf09ef4176bb36fffd17cdb82d41839303 Reviewed-by: Jesus Fernandez <jsfdez@gmail.com> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/oauth/qoauthhttpserverreplyhandler.cpp')
-rw-r--r--src/oauth/qoauthhttpserverreplyhandler.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/oauth/qoauthhttpserverreplyhandler.cpp b/src/oauth/qoauthhttpserverreplyhandler.cpp
index 6a0dccb..8b20cdf 100644
--- a/src/oauth/qoauthhttpserverreplyhandler.cpp
+++ b/src/oauth/qoauthhttpserverreplyhandler.cpp
@@ -52,10 +52,14 @@ void QOAuthHttpServerReplyHandlerPrivate::_q_clientConnected()
void QOAuthHttpServerReplyHandlerPrivate::_q_readData(QTcpSocket *socket)
{
- if (!clients.contains(socket))
- clients[socket].port = httpServer.serverPort();
+ QHttpRequest *request = nullptr;
+ if (auto it = clients.find(socket); it == clients.end()) {
+ request = &clients[socket]; // insert it
+ request->port = httpServer.serverPort();
+ } else {
+ request = &*it;
+ }
- QHttpRequest *request = &clients[socket];
bool error = false;
if (Q_LIKELY(request->state == QHttpRequest::State::ReadingMethod))