32 return (key.compare(other.key, Qt::CaseInsensitive) == 0) && value == other.value;
49 inline
Headers(std::initializer_list<std::pair<QByteArray, QByteArray>> list)
51 for (std::initializer_list<std::pair<QByteArray, QByteArray>>::const_iterator it =
55 m_data.emplace_back(HeaderKeyValue{it->first, it->second});
66 [[nodiscard]] QByteArray contentDisposition() const noexcept;
71 void setCacheControl(const QByteArray &value);
77 void setContentDisposition(const QByteArray &contentDisposition);
84 void setContentDispositionAttachment(const QByteArray &filename = {});
91 [[nodiscard]] QByteArray contentEncoding() const noexcept;
97 void setContentEncoding(const QByteArray &encoding);
106 [[nodiscard]] QByteArray contentType() const;
112 void setContentType(const QByteArray &contentType);
118 [[nodiscard]] QByteArray contentTypeCharset() const;
124 void setContentTypeCharset(const QByteArray &charset);
129 [[nodiscard]]
bool contentIsText() const;
135 [[nodiscard]]
bool contentIsHtml() const;
140 [[nodiscard]]
bool contentIsXHtml() const;
145 [[nodiscard]]
bool contentIsXml() const;
150 [[nodiscard]]
bool contentIsJson() const;
156 [[nodiscard]] qint64 contentLength() const;
162 void setContentLength(qint64 value);
167 QByteArray setDateWithDateTime(const QDateTime &date);
172 [[nodiscard]] QDateTime date() const;
179 [[nodiscard]] QByteArray ifModifiedSince() const noexcept;
188 [[nodiscard]] QDateTime ifModifiedSinceDateTime() const;
194 [[nodiscard]]
bool ifModifiedSince(const QDateTime &lastModified) const;
205 [[nodiscard]]
bool ifMatch(QAnyStringView etag) const;
215 [[nodiscard]]
bool ifNoneMatch(QAnyStringView etag) const;
222 void setETag(const QByteArray &etag);
227 [[nodiscard]] QByteArray lastModified() const noexcept;
232 void setLastModified(const QByteArray &value);
238 QString setLastModified(const QDateTime &lastModified);
244 [[nodiscard]] QByteArray server() const noexcept;
250 void setServer(const QByteArray &value);
256 [[nodiscard]] QByteArray connection() const noexcept;
263 [[nodiscard]] QByteArray host() const noexcept;
269 [[nodiscard]] QByteArray userAgent() const noexcept;
275 [[nodiscard]] QByteArray referer() const noexcept;
283 void setReferer(const QByteArray &value);
290 void setWwwAuthenticate(const QByteArray &value);
295 void setProxyAuthenticate(const QByteArray &value);
300 [[nodiscard]] QByteArray authorization() const noexcept;
305 [[nodiscard]] QByteArray authorizationBearer() const;
312 [[nodiscard]] QByteArray authorizationBasic() const;
356 [[nodiscard]] QByteArray
header(QAnyStringView key) const noexcept;
367 [[nodiscard]] QByteArray
header(QAnyStringView key,
368 const QByteArray &defaultValue) const noexcept;
374 [[nodiscard]] QString
headerAsString(QAnyStringView key, const QString &defaultValue) const;
379 [[nodiscard]] QByteArrayList
headers(QAnyStringView key) const;
390 void setHeader(const QByteArray &key, const QByteArray &value);
395 void setHeader(const QByteArray &field, const QByteArrayList &values);
400 void pushHeader(const QByteArray &key, const QByteArray &value);
405 void pushHeader(const QByteArray &key, const QByteArrayList &values);
415 inline
void clear() { m_data.clear(); }
420 [[nodiscard]]
inline QVector<HeaderKeyValue>
data()
const {
return m_data; }
425 [[nodiscard]]
bool contains(QAnyStringView key)
const noexcept;
427 [[nodiscard]] QByteArrayList keys()
const;
432 QByteArray operator[](QAnyStringView key)
const noexcept;
439 m_data = other.m_data;
446 bool operator==(
const Headers &other)
const noexcept;
449 QVector<HeaderKeyValue> m_data;