cutelyst
3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
headers.h
1
/*
2
* SPDX-FileCopyrightText: (C) 2014-2022 Daniel Nicoletti <dantti12@gmail.com>
3
* SPDX-License-Identifier: BSD-3-Clause
4
*/
5
#ifndef HEADERS_H
6
#define HEADERS_H
7
8
#include <Cutelyst/cutelyst_global.h>
9
10
#include <QtCore/QDateTime>
11
#include <QtCore/QMetaType>
12
#include <QtCore/QVariant>
13
14
namespace
Cutelyst
{
15
16
class
CUTELYST_LIBRARY
Headers
17
{
18
public
:
22
Headers
() =
default
;
23
27
Headers
(
const
Headers
&other);
28
29
#ifdef Q_COMPILER_INITIALIZER_LISTS
33
inline
Headers
(std::initializer_list<std::pair<QString, QString>> list)
34
{
35
for
(std::initializer_list<std::pair<QString, QString>>::const_iterator it = list.begin();
36
it != list.end();
37
++it)
38
pushHeader
(it->first, it->second);
39
}
40
#endif
41
47
QString
contentDisposition()
const
;
48
52
void
setCacheControl(
const
QString
&value);
53
58
void
setContentDisposition(
const
QString
&contentDisposition);
59
65
void
setContentDispositionAttachment(
const
QString
&filename =
QString
());
66
72
QString
contentEncoding()
const
;
73
78
void
setContentEncoding(
const
QString
&encoding);
79
86
QString
contentType()
const
;
87
92
void
setContentType(
const
QString
&contentType);
93
97
QString
contentTypeCharset()
const
;
98
103
void
setContentTypeCharset(
const
QString
&charset);
104
108
bool
contentIsText()
const
;
109
114
bool
contentIsHtml()
const
;
115
119
bool
contentIsXHtml()
const
;
120
124
bool
contentIsXml()
const
;
125
129
bool
contentIsJson()
const
;
130
134
qint64 contentLength()
const
;
135
139
void
setContentLength(qint64 value);
140
144
QString
setDateWithDateTime(
const
QDateTime
&date);
145
149
QDateTime
date()
const
;
150
156
QString
ifModifiedSince()
const
;
157
165
QDateTime
ifModifiedSinceDateTime()
const
;
166
171
bool
ifModifiedSince(
const
QDateTime
&lastModified)
const
;
172
182
bool
ifMatch(
const
QString
&etag)
const
;
183
192
bool
ifNoneMatch(
const
QString
&etag)
const
;
193
199
void
setETag(
const
QString
&etag);
200
204
QString
lastModified()
const
;
205
209
void
setLastModified(
const
QString
&value);
210
215
QString
setLastModified(
const
QDateTime
&lastModified);
216
221
QString
server()
const
;
222
227
void
setServer(
const
QString
&value);
228
233
QString
connection()
const
;
234
240
QString
host()
const
;
241
246
QString
userAgent()
const
;
247
252
QString
referer()
const
;
253
260
void
setReferer(
const
QString
&value);
261
267
void
setWwwAuthenticate(
const
QString
&value);
268
272
void
setProxyAuthenticate(
const
QString
&value);
273
277
QString
authorization()
const
;
278
282
QString
authorizationBearer()
const
;
283
289
QString
authorizationBasic()
const
;
290
291
struct
Authorization
{
292
QString
user;
293
QString
password;
294
};
295
301
Authorization
authorizationBasicObject
()
const
;
302
308
QString
setAuthorizationBasic
(
const
QString
&username,
const
QString
&password);
309
314
QString
proxyAuthorization
()
const
;
315
321
QString
proxyAuthorizationBasic
()
const
;
322
328
Authorization
proxyAuthorizationBasicObject
()
const
;
329
333
QString
header
(
const
QString
&field)
const
;
334
338
QString
header
(
const
QString
&field,
const
QString
&defaultValue)
const
;
339
343
void
setHeader
(
const
QString
&field,
const
QString
&value);
344
348
void
setHeader
(
const
QString
&field,
const
QStringList
&values);
349
353
void
pushHeader
(
const
QString
&field,
const
QString
&value);
354
362
inline
void
pushRawHeader
(
const
QString
&field,
const
QString
&value);
363
367
void
pushHeader
(
const
QString
&field,
const
QStringList
&values);
368
372
void
removeHeader
(
const
QString
&field);
373
377
inline
void
clear
() { m_data.clear(); }
378
382
inline
QMultiHash<QString, QString>
data
()
const
{
return
m_data; }
383
387
bool
contains(
const
QString
&field)
const
;
388
392
QString
operator[](
const
QString
&key)
const
;
393
397
inline
Headers
&
operator=
(
const
Headers
&other)
398
{
399
m_data = other.m_data;
400
return
*
this
;
401
}
402
406
inline
bool
operator==
(
const
Headers
&other)
const
{
return
m_data == other.m_data; }
407
411
inline
bool
operator!=
(
const
Headers
&other)
const
{
return
m_data != other.m_data; }
412
413
private
:
414
QMultiHash<QString, QString>
m_data;
415
};
416
417
void
Headers::pushRawHeader
(
const
QString
&field,
const
QString
&value)
418
{
419
m_data.
insert
(field, value);
420
}
421
422
}
// namespace Cutelyst
423
424
Q_DECLARE_METATYPE(
Cutelyst::Headers
)
425
426
QDebug
CUTELYST_LIBRARY operator<<(
QDebug
dbg,
const
Cutelyst::Headers
&headers);
427
428
#endif
// HEADERS_H
Cutelyst::Headers
Definition
headers.h:17
Cutelyst::Headers::operator!=
bool operator!=(const Headers &other) const
Definition
headers.h:411
Cutelyst::Headers::operator==
bool operator==(const Headers &other) const
Definition
headers.h:406
Cutelyst::Headers::data
QMultiHash< QString, QString > data() const
Definition
headers.h:382
Cutelyst::Headers::authorizationBasicObject
Authorization authorizationBasicObject() const
Definition
headers.cpp:352
Cutelyst::Headers::pushHeader
void pushHeader(const QString &field, const QString &value)
Definition
headers.cpp:406
Cutelyst::Headers::Headers
Headers()=default
Cutelyst::Headers::pushRawHeader
void pushRawHeader(const QString &field, const QString &value)
Definition
headers.h:417
Cutelyst::Headers::proxyAuthorizationBasicObject
Authorization proxyAuthorizationBasicObject() const
Definition
headers.cpp:381
Cutelyst::Headers::setAuthorizationBasic
QString setAuthorizationBasic(const QString &username, const QString &password)
Definition
headers.cpp:357
Cutelyst::Headers::removeHeader
void removeHeader(const QString &field)
Definition
headers.cpp:416
Cutelyst::Headers::header
QString header(const QString &field) const
Definition
headers.cpp:386
Cutelyst::Headers::operator=
Headers & operator=(const Headers &other)
Definition
headers.h:397
Cutelyst::Headers::proxyAuthorization
QString proxyAuthorization() const
Definition
headers.cpp:371
Cutelyst::Headers::proxyAuthorizationBasic
QString proxyAuthorizationBasic() const
Definition
headers.cpp:376
Cutelyst::Headers::Headers
Headers(std::initializer_list< std::pair< QString, QString > > list)
Definition
headers.h:33
Cutelyst::Headers::setHeader
void setHeader(const QString &field, const QString &value)
Definition
headers.cpp:396
Cutelyst::Headers::clear
void clear()
Definition
headers.h:377
Cutelyst
The Cutelyst namespace holds all public Cutelyst API.
Definition
Mainpage.dox:8
QDateTime
QDebug
QMultiHash
QMultiHash::insert
typename QHash< Key, T >::iterator insert(const Key &key, const T &value)
QString
QStringList
Cutelyst::Headers::Authorization
Definition
headers.h:291
Cutelyst
headers.h
Generated on
for cutelyst by
1.16.1