From 90a0ae1eb9a684edcfc6951cabb48b32dd0d33e9 Mon Sep 17 00:00:00 2001 From: Spencer Date: Tue, 9 May 2017 14:11:02 -0700 Subject: [PATCH] add a `castToArray` option to paramAsBody spec (#541) (cherry picked from commit 35b342550ef7bfcb08069743d513633ba5b6f12b) --- scripts/generate/overrides.js | 10 ++++++++++ src/lib/client_action.js | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/generate/overrides.js b/scripts/generate/overrides.js index ee406a062..fd8aa9c52 100644 --- a/scripts/generate/overrides.js +++ b/scripts/generate/overrides.js @@ -289,5 +289,15 @@ function (spec) { examples: { scroll: 'scroll_<5.0.asciidoc' } + }, + { + version: '>=5.3,<5.5', + paramAsBody: { + clearScroll: { + param: 'scrollId', + body: 'scroll_id', + castToArray: true, + } + } } ]; diff --git a/src/lib/client_action.js b/src/lib/client_action.js index 3b602f67b..a8d6d26d1 100644 --- a/src/lib/client_action.js +++ b/src/lib/client_action.js @@ -257,7 +257,11 @@ function exec(transport, spec, params, cb) { if (!params.body && spec.paramAsBody) { if (typeof spec.paramAsBody === 'object') { params.body = {}; - params.body[spec.paramAsBody.body] = params[spec.paramAsBody.param]; + if (spec.paramAsBody.castToArray) { + params.body[spec.paramAsBody.body] = [].concat(params[spec.paramAsBody.param]); + } else { + params.body[spec.paramAsBody.body] = params[spec.paramAsBody.param]; + } delete params[spec.paramAsBody.param]; } else { params.body = params[spec.paramAsBody];