Cutelyst
2.13.0
|
JSON view for your data. More...
#include <Cutelyst/Plugins/JSON/viewjson.h>
Public Types | |
enum | ExposeMode { All, String, StringList, RegularExpression } |
enum | JsonFormat { Indented, Compact } |
![]() | |
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 |
![]() | |
View (QObject *parent, const QString &name) | |
virtual Modifiers | modifiers () const override |
void | setMinimalSizeToDeflate (qint32 minSize=-1) |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
View (ViewPrivate *d, QObject *parent, const QString &name) | |
A derived class using pimpl should call this constructor, to reduce the number of memory allocations. | |
![]() | |
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) |
Cutelyst::ViewJSON is a Cutelyst View handler that returns stash data in JSON format.
Definition at line 27 of file viewjson.h.
This value defines which kind of exposition was defined
Definition at line 56 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 38 of file viewjson.h.
|
explicit |
Main constructor
Definition at line 34 of file viewjson.cpp.
ViewJson::ExposeMode ViewJson::exposeStashMode | ( | ) | const |
Returns the expose mode of the stash keys, defaults to everything (All)
Definition at line 64 of file viewjson.cpp.
ViewJson::JsonFormat ViewJson::outputFormat | ( | ) | const |
Returns the output format of JSON, defaults to Compact
Definition at line 39 of file viewjson.cpp.
|
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 103 of file viewjson.cpp.
References Cutelyst::Context::response(), Cutelyst::Response::setContentType(), Cutelyst::Response::setHeader(), and Cutelyst::Context::stash().
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 84 of file viewjson.cpp.
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 70 of file viewjson.cpp.
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 77 of file viewjson.cpp.
void ViewJson::setOutputFormat | ( | JsonFormat | format | ) |
Defines the output format of JSON
Definition at line 52 of file viewjson.cpp.
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 91 of file viewjson.cpp.
bool ViewJson::xJsonHeader | ( | ) | const |
Returns true if the X-JSON header should be sent
Definition at line 97 of file viewjson.cpp.