21 #include <QtCore/QVariant>
22 #include <QtCore/QDateTime>
23 #include <QtCore/QMetaType>
25 #include <Cutelyst/cutelyst_global.h>
42 #ifdef Q_COMPILER_INITIALIZER_LISTS
46 inline Headers(std::initializer_list<std::pair<QString,QString> > list)
48 for (std::initializer_list<std::pair<QString,QString> >::const_iterator it = list.begin(); it != list.end(); ++it)
49 pushHeader(it->first, it->second);
58 QString contentDisposition()
const;
63 void setCacheControl(
const QString &value);
69 void setContentDisposition(
const QString &contentDisposition);
76 void setContentDispositionAttachment(
const QString &filename = QString());
82 QString contentEncoding()
const;
88 void setContentEncoding(
const QString &encoding);
96 QString contentType()
const;
102 void setContentType(
const QString &contentType);
107 QString contentTypeCharset()
const;
113 void setContentTypeCharset(
const QString &charset);
118 bool contentIsText()
const;
124 bool contentIsHtml()
const;
129 bool contentIsXHtml()
const;
134 bool contentIsXml()
const;
139 bool contentIsJson()
const;
144 qint64 contentLength()
const;
149 void setContentLength(qint64 value);
154 QString setDateWithDateTime(
const QDateTime &date);
159 QDateTime date()
const;
166 QString ifModifiedSince()
const;
175 QDateTime ifModifiedSinceDateTime()
const;
181 bool ifModifiedSince(
const QDateTime &lastModified)
const;
192 bool ifMatch(
const QString &etag)
const;
202 bool ifNoneMatch(
const QString &etag)
const;
209 void setETag(
const QString &etag);
214 QString lastModified()
const;
219 void setLastModified(
const QString &value);
225 QString setLastModified(
const QDateTime &lastModified);
231 QString server()
const;
237 void setServer(
const QString &value);
243 QString connection()
const;
249 QString host()
const;
254 QString userAgent()
const;
259 QString referer()
const;
267 void setReferer(
const QString &value);
274 void setWwwAuthenticate(
const QString &value);
279 void setProxyAuthenticate(
const QString &value);
284 QString authorization()
const;
291 QString authorizationBasic()
const;
298 std::pair<QString, QString> authorizationBasicPair()
const;
305 QString setAuthorizationBasic(
const QString &username,
const QString &password);
310 QString proxyAuthorization()
const;
317 QString proxyAuthorizationBasic()
const;
324 std::pair<QString, QString> proxyAuthorizationBasicPair()
const;
329 QString header(
const QString &field)
const;
334 QString header(
const QString &field,
const QString &defaultValue)
const;
339 void setHeader(
const QString &field,
const QString &value);
344 void setHeader(
const QString &field,
const QStringList &values);
349 void pushHeader(
const QString &field,
const QString &value);
358 inline void pushRawHeader(
const QString &field,
const QString &value);
363 void pushHeader(
const QString &field,
const QStringList &values);
368 void removeHeader(
const QString &field);
380 inline QHash<QString, QString>
data()
const {
387 bool contains(
const QString &field);
392 QString &operator[](
const QString &key);
397 const QString operator[](
const QString &key)
const;
404 m_data = other.m_data;
412 return m_data == other.m_data;
419 return m_data != other.m_data;
425 inline operator QVariant()
const {
426 return QVariant::fromValue(m_data);
430 QHash<QString, QString> m_data;
434 m_data.insertMulti(field, value);
441 QDebug CUTELYST_LIBRARY operator<<(QDebug dbg,
const Cutelyst::Headers &headers);