18 #include "actionchain_p.h"
19 #include "request_p.h"
30 const Action *
final = d->chain.last();
33 args.insert(QStringLiteral(
"namespace"), final->ns());
43 if (action->numberOfCaptures() > 0) {
44 d->captures += action->numberOfCaptures();
65 Request *request = c->request();
69 Action *
final = d->chain.last();
73 if (action !=
final) {
75 while (args.size() < action->numberOfCaptures() && captured < captures.size()) {
76 args.append(captures.at(captured++));
80 if (!action->dispatch(c)) {
87 return final->dispatch(c);
90 #include "moc_actionchain.cpp"
void setupAction(const QVariantHash &args, Application *app)
virtual qint8 numberOfCaptures() const override
Holds a chain of Cutelyst Actions.
virtual bool doExecute(Context *c) override
void setReverse(const QString &reverse)
void setArguments(const QStringList &arguments)
The Cutelyst namespace holds all public Cutelyst API.
This class represents a Cutelyst Action.
void setName(const QString &name)
void setController(Controller *controller)
ActionChain(const ActionList &chain, QObject *parent=nullptr)
QStringList captures() const
void setAttributes(const QMap< QString, QString > &attributes)
QVector< Action * > ActionList