|
cutelyst 3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
JSON view for your data. More...
#include <Cutelyst/Plugins/JSON/viewjson.h>

Public Types | |
| enum | ExposeMode { All , String , StringList , RegularExpression } |
| enum | JsonFormat { Indented , Compact } |
| Public Types inherited from Cutelyst::Component | |
| enum | Modifier { None , OnlyExecute , BeforeExecute , AroundExecute , AfterExecute } |
Public Member Functions | |
| ViewJson (QObject *parent, const QString &name=QString()) | |
| ExposeMode | exposeStashMode () const |
| JsonFormat | outputFormat () const |
| QByteArray | render (Context *c) const final |
| void | setExposeStash (const QRegularExpression &re) |
| void | setExposeStash (const QString &key) |
| void | setExposeStash (const QStringList &keys) |
| void | setOutputFormat (JsonFormat format) |
| void | setXJsonHeader (bool enable) |
| bool | xJsonHeader () const |
| Public Member Functions inherited from Cutelyst::View | |
| View (QObject *parent, const QString &name) | |
| virtual Modifiers | modifiers () const override |
| void | setMinimalSizeToDeflate (qint32 minSize=-1) |
| Public Member Functions inherited from Cutelyst::Component | |
| Component (QObject *parent=nullptr) | |
| bool | execute (Context *c) |
| virtual bool | init (Application *application, const QVariantHash &args) |
| QString | name () const |
| QString | reverse () const |
| void | setName (const QString &name) |
| void | setReverse (const QString &reverse) |
| Public Member Functions inherited from QObject | |
| QObject (QObject *parent) | |
| bool | blockSignals (bool block) |
| const QObjectList & | children () const const |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| void | deleteLater () |
| void | destroyed (QObject *obj) |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectInfo () |
| void | dumpObjectInfo () const const |
| void | dumpObjectTree () |
| void | dumpObjectTree () const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| bool | inherits (const char *className) const const |
| void | installEventFilter (QObject *filterObj) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| void | killTimer (int id) |
| virtual const QMetaObject * | metaObject () const const |
| void | moveToThread (QThread *targetThread) |
| QString | objectName () const const |
| void | objectNameChanged (const QString &objectName, QPrivateSignal) |
| QObject * | parent () const const |
| QVariant | property (const char *name) const const |
| Q_CLASSINFO (Name, Value) | |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_EMIT Q_EMIT | |
| Q_ENUM (...) | |
| Q_ENUM_NS (...) | |
| Q_ENUMS (...) | |
| Q_FLAG (...) | |
| Q_FLAG_NS (...) | |
| Q_FLAGS (...) | |
| Q_GADGET Q_GADGET | |
| Q_INTERFACES (...) | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_OBJECT Q_OBJECT | |
| Q_PROPERTY (...) | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SLOT Q_SLOT | |
| Q_SLOTS Q_SLOTS | |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| T | qobject_cast (const QObject *object) |
| T | qobject_cast (QObject *object) |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| void | removeEventFilter (QObject *obj) |
| void | setObjectName (const QString &name) |
| void | setParent (QObject *parent) |
| bool | setProperty (const char *name, const QVariant &value) |
| bool | signalsBlocked () const const |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| QThread * | thread () const const |
Additional Inherited Members | |
| Static Public Member Functions inherited from QObject | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| Public Attributes inherited from QObject | |
| typedef | QObjectList |
| Protected Member Functions inherited from Cutelyst::View | |
| View (ViewPrivate *d, QObject *parent, const QString &name) | |
| A derived class using pimpl should call this constructor, to reduce the number of memory allocations. | |
| Protected Member Functions inherited from Cutelyst::Component | |
| Component (ComponentPrivate *d, QObject *parent=nullptr) | |
| A derived class using pimpl should call this constructor, to reduce the number of memory allocations. | |
| virtual bool | afterExecute (Context *c) |
| void | applyRoles (const QStack< Component * > &roles) |
| virtual bool | aroundExecute (Context *c, QStack< Component * > stack) |
| virtual bool | beforeExecute (Context *c) |
| virtual bool | dispatcherReady (const Dispatcher *dispatch, Controller *controller) |
| Protected Member Functions inherited from QObject | |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | customEvent (QEvent *event) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| int | receivers (const char *signal) const const |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| virtual void | timerEvent (QTimerEvent *event) |
| Properties inherited from QObject | |
| objectName | |
Cutelyst::ViewJSON is a Cutelyst View handler that returns stash data in JSON format.
Definition at line 14 of file viewjson.h.
This value defines which kind of exposition was defined
Definition at line 43 of file viewjson.h.
This value defines the format of the JSON byte array produced when rendering the view
| Enumerator | |
|---|---|
| Indented | The output will be indented |
| Compact | The output will be compact saving space |
Definition at line 25 of file viewjson.h.
Main constructor
Definition at line 21 of file viewjson.cpp.
References QObject::QObject(), Cutelyst::View::View(), Cutelyst::Component::name(), and QObject::parent().
Referenced by exposeStashMode(), outputFormat(), render(), setExposeStash(), setExposeStash(), setExposeStash(), setOutputFormat(), setXJsonHeader(), and xJsonHeader().
| ViewJson::ExposeMode ViewJson::exposeStashMode | ( | ) | const |
Returns the expose mode of the stash keys, defaults to everything (All)
Definition at line 51 of file viewjson.cpp.
References ViewJson().
| ViewJson::JsonFormat ViewJson::outputFormat | ( | ) | const |
Returns the output format of JSON, defaults to Compact
Definition at line 26 of file viewjson.cpp.
References ViewJson(), Compact, QJsonDocument::Compact, Indented, and QJsonDocument::Indented.
|
finalvirtual |
All subclasses must reimplement this when doing it's rendering. If an error (c->error()) is not set c->response()->body() is defined with the returned value, this is useful if the view is not meant to be used as a body.
Implements Cutelyst::View.
Definition at line 90 of file viewjson.cpp.
References ViewJson(), Cutelyst::Headers::contains(), QJsonValue::fromVariant(), QJsonObject::fromVariantHash(), QRegularExpressionMatch::hasMatch(), Cutelyst::Request::headers(), QJsonObject::insert(), QRegularExpression::match(), Cutelyst::Context::response(), Cutelyst::Response::setContentType(), Cutelyst::Response::setHeader(), Cutelyst::Context::stash(), and QJsonDocument::toJson().
| void ViewJson::setExposeStash | ( | const QRegularExpression & | re | ) |
Specify which stash keys are exposed as a JSON response, this will change exposeStashMode() to ViewJson::RegularExpression
Definition at line 71 of file viewjson.cpp.
References ViewJson().
| void ViewJson::setExposeStash | ( | const QString & | key | ) |
Specify which stash key is exposed as a JSON response, this will change exposeStashMode() to ViewJson::String
Definition at line 57 of file viewjson.cpp.
References ViewJson().
| void ViewJson::setExposeStash | ( | const QStringList & | keys | ) |
Specify which stash keys are exposed as a JSON response, this will change exposeStashMode() to ViewJson::StringList
Definition at line 64 of file viewjson.cpp.
References ViewJson().
| void ViewJson::setOutputFormat | ( | JsonFormat | format | ) |
Defines the output format of JSON
Definition at line 39 of file viewjson.cpp.
References ViewJson(), Compact, QJsonDocument::Compact, Indented, and QJsonDocument::Indented.
| void ViewJson::setXJsonHeader | ( | bool | enable | ) |
By default this plugin does NOT sets X-JSON header if the requested client is a Prototype.js with X-JSON support. By setting true, you can opt-out this behavior so that you do not need to do eval() by your own.
Definition at line 78 of file viewjson.cpp.
References ViewJson().
| bool ViewJson::xJsonHeader | ( | ) | const |
Returns true if the X-JSON header should be sent
Definition at line 84 of file viewjson.cpp.
References ViewJson().