18 #include "statusmessage.h"
20 #include <Cutelyst/Application>
21 #include <Cutelyst/Plugins/Session/session.h>
23 #include <QtCore/QDateTime>
24 #include <QtCore/QLoggingCategory>
26 #if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
27 #include <QRandomGenerator>
32 Q_LOGGING_CATEGORY(C_STATUSMESSAGE,
"cutelyst.plugins.statusmessage", QtWarningMsg)
43 QString sessionPrefix = QStringLiteral(
"status_msg");
44 QString tokenParam = QStringLiteral(
"mid");
45 QString statusMsgStashKey = QStringLiteral(
"status_msg");
46 QString errorMsgStashKey = QStringLiteral(
"error_msg");
49 void StatusMessagePrivate::_q_postFork(
Application *app)
58 #if (QT_VERSION < QT_VERSION_CHECK(5, 10, 0))
64 StatusMessage::~StatusMessage()
72 return d->sessionPrefix;
96 return d->statusMsgStashKey;
108 return d->errorMsgStashKey;
119 if (Q_UNLIKELY(!m_instance)) {
120 qCCritical(C_STATUSMESSAGE,
"StatusMessage plugin not registered");
133 if (!statusValue.
isNull()) {
134 deleteKeys.
append(statusKey);
135 c->
setStash(priv->statusMsgStashKey, statusValue);
140 if (!errorValue.
isNull()) {
141 deleteKeys.
append(errorKey);
142 c->
setStash(priv->errorMsgStashKey, errorValue);
152 #if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
162 if (Q_UNLIKELY(!m_instance)) {
163 qCCritical(C_STATUSMESSAGE,
"StatusMessage plugin not registered");
167 token = createToken();
175 if (Q_UNLIKELY(!m_instance)) {
176 qCCritical(C_STATUSMESSAGE,
"StatusMessage plugin not registered");
181 const QString token = createToken();
183 map.
insert(priv->tokenParam, token);
190 if (Q_UNLIKELY(!m_instance)) {
191 qCCritical(C_STATUSMESSAGE,
"StatusMessage plugin not registered");
195 token = createToken();
203 if (Q_UNLIKELY(!m_instance)) {
204 qCCritical(C_STATUSMESSAGE,
"StatusMessage plugin not registered");
209 const QString token = createToken();
211 map.
insert(priv->tokenParam, token);
221 #include "moc_statusmessage.cpp"
The Cutelyst Application.
T plugin()
Returns the registered plugin that casts to the template type T.
void postForked(Cutelyst::Application *app)
void setStash(const QString &key, const QVariant &value)
QString queryParam(const QString &key, const QString &defaultValue={}) const
static QVariant value(Context *c, const QString &key, const QVariant &defaultValue=QVariant())
static void setValue(Context *c, const QString &key, const QVariant &value)
static void deleteValues(Context *c, const QStringList &keys)
static ParamsMultiMap errorQuery(Context *c, const QString &msg, ParamsMultiMap query=ParamsMultiMap())
static QString error(Context *c, const QString &msg)
QString tokenParam() const
static void load(Context *c)
QString sessionPrefix() const
QString errorMgStashKey() const
void setTokenParam(const QString &tokenParam)
virtual bool setup(Application *app) override
static QString status(Context *c, const QString &msg)
void setErrorMgStashKey(const QString &errorMgStashKey)
QString statusMsgStashKey() const
void setStatusMsgStashKey(const QString &statusMsgStashKey)
void setSessionPrefix(const QString &sessionPrefix)
static ParamsMultiMap statusQuery(Context *c, const QString &msg, ParamsMultiMap query=ParamsMultiMap())
The Cutelyst namespace holds all public Cutelyst API.
qint64 currentMSecsSinceEpoch()
void append(const T &value)
bool isEmpty() const const
typename QMap< Key, T >::iterator insert(const Key &key, const T &value)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QRandomGenerator * global()
bool isEmpty() const const
QString number(int n, int base)
QString rightJustified(int width, QChar fill, bool truncate) const const
bool isNull() const const