summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2016-12-11 18:26:23 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2016-12-11 18:26:23 +0000
commit38e9eb2df7d6ce5fcff5d997b7465279035bf118 (patch)
tree2e3646d9ec876bdb27980aea2fb889660e8d0bce
parentSplit implementation details (in CGI) of headers away from core functionality (diff)
downloadicespider-38e9eb2df7d6ce5fcff5d997b7465279035bf118.tar.bz2
icespider-38e9eb2df7d6ce5fcff5d997b7465279035bf118.tar.xz
icespider-38e9eb2df7d6ce5fcff5d997b7465279035bf118.zip
Make mutator into a collection (mutators)
-rw-r--r--icespider/common/routes.ice2
-rw-r--r--icespider/compile/routeCompiler.cpp8
-rw-r--r--icespider/unittests/testRoutes.json2
3 files changed, 6 insertions, 6 deletions
diff --git a/icespider/common/routes.ice b/icespider/common/routes.ice
index d46d09a..8a40831 100644
--- a/icespider/common/routes.ice
+++ b/icespider/common/routes.ice
@@ -46,7 +46,7 @@ module IceSpider {
string type;
OutputSerializers outputSerializers;
StringSeq bases;
- optional(1) string mutator;
+ StringSeq mutators;
};
["slicer:json:object"]
diff --git a/icespider/compile/routeCompiler.cpp b/icespider/compile/routeCompiler.cpp
index 100cb97..31bf272 100644
--- a/icespider/compile/routeCompiler.cpp
+++ b/icespider/compile/routeCompiler.cpp
@@ -549,8 +549,8 @@ namespace IceSpider {
}
}
fprintbf(output, "request->getContext());\n");
- if (r->mutator) {
- fprintbf(4, output, "%s(request, _responseModel);\n", *r->mutator);
+ for(const auto & mutator : r->mutators) {
+ fprintbf(4, output, "%s(request, _responseModel);\n", mutator);
}
if (o->returnsData()) {
fprintbf(4, output, "request->response(this, _responseModel);\n");
@@ -612,8 +612,8 @@ namespace IceSpider {
}
fprintf(output, ";\n");
}
- if (r->mutator) {
- fprintbf(4, output, "%s(request, _responseModel);\n", *r->mutator);
+ for (const auto & mutator : r->mutators) {
+ fprintbf(4, output, "%s(request, _responseModel);\n", mutator);
}
fprintbf(4, output, "request->response(this, _responseModel);\n");
}
diff --git a/icespider/unittests/testRoutes.json b/icespider/unittests/testRoutes.json
index 370f821..2fd7aac 100644
--- a/icespider/unittests/testRoutes.json
+++ b/icespider/unittests/testRoutes.json
@@ -18,7 +18,7 @@
}
},
"bases": [ "base1", "base2" ],
- "mutator": "testMutate",
+ "mutators": [ "testMutate" ],
"operation": "TestIceSpider.TestApi.index"
},
"item": {