Add static access function to wellknown headers

Resulted from API-review

Change-Id: I438a5cf9c88b572adece99af0314eefbc4371f8f
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 37549cda7276343f96e314bf8edc60116e887718)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Juha Vuolle 2024-01-15 15:33:44 +02:00 committed by Qt Cherry-pick Bot
parent be67204568
commit 8fd897d4bd
3 changed files with 17 additions and 0 deletions

View File

@ -1041,6 +1041,14 @@ void QHttpHeaders::reserve(qsizetype size)
d->headers.reserve(size);
}
/*!
Returns a header name corresponding to the provided \a name as a view.
*/
QByteArrayView QHttpHeaders::wellKnownHeaderName(WellKnownHeader name) noexcept
{
return headerNames[qToUnderlying(name)];
}
/*!
Returns the header entries as a list of (name, value) pairs.
Header names are case-insensitive, and the returned names are lower-cased.

View File

@ -242,6 +242,8 @@ public:
Q_NETWORK_EXPORT void reserve(qsizetype size);
bool isEmpty() const noexcept { return size() == 0; }
Q_NETWORK_EXPORT static QByteArrayView wellKnownHeaderName(WellKnownHeader name) noexcept;
Q_NETWORK_EXPORT static QHttpHeaders
fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers);
Q_NETWORK_EXPORT static QHttpHeaders

View File

@ -16,6 +16,7 @@ class tst_QHttpHeaders : public QObject
private slots:
void constructors();
void accessors();
void wellKnownHeader();
void headerNameField();
void headerValueField();
void valueEncoding();
@ -303,6 +304,12 @@ void tst_QHttpHeaders::accessors()
}
void tst_QHttpHeaders::wellKnownHeader()
{
QByteArrayView view = QHttpHeaders::wellKnownHeaderName(QHttpHeaders::WellKnownHeader::AIM);
QCOMPARE(view, "a-im");
}
#define TEST_ILLEGAL_HEADER_NAME_CHARACTER(NAME) \
QTest::ignoreMessage(QtMsgType::QtWarningMsg, re); \
QVERIFY(!h1.append(NAME, v1)); \