diff options
| author | Anton Kudryavtsev <[email protected]> | 2023-08-23 17:50:28 +0300 |
|---|---|---|
| committer | Anton Kudryavtsev <[email protected]> | 2023-08-27 01:01:10 +0300 |
| commit | 98e7da8e3249dd36ad628d06097ba6b529c8a9cc (patch) | |
| tree | b065198067a9bc1f6a0f17807aa5b54b1296c0fd /src/network/access/qnetworkcookie.cpp | |
| parent | 5442ebe5e843deac1b7cec49319df60c2080447d (diff) | |
QNetworkCookie: add QBAV overload for parseCookies
Rewrite impl to reduce allocations by QL1S::tokenize
Change-Id: I8d131ef6d7fe9a1a9daa438efea026392deb5e55
Reviewed-by: MÃ¥rten Nordheim <[email protected]>
Diffstat (limited to 'src/network/access/qnetworkcookie.cpp')
| -rw-r--r-- | src/network/access/qnetworkcookie.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp index c02ac1ba31e..fab8c98ed2e 100644 --- a/src/network/access/qnetworkcookie.cpp +++ b/src/network/access/qnetworkcookie.cpp @@ -931,12 +931,20 @@ static QDateTime parseDateString(QByteArrayView dateString) */ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieString) { + return parseCookies(QByteArrayView(cookieString)); +} + +/*! + \overload + \since 6.7 +*/ +QList<QNetworkCookie> QNetworkCookie::parseCookies(QByteArrayView cookieString) +{ // cookieString can be a number of set-cookie header strings joined together // by \n, parse each line separately. QList<QNetworkCookie> cookies; - QList<QByteArray> list = cookieString.split('\n'); - for (int a = 0; a < list.size(); a++) - cookies += QNetworkCookiePrivate::parseSetCookieHeaderLine(list.at(a)); + for (auto s : QLatin1StringView(cookieString).tokenize('\n'_L1)) + cookies += QNetworkCookiePrivate::parseSetCookieHeaderLine(s); return cookies; } |
