summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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": {