0

I have written the below code in Config.Transform.Functions (response-transformer-advanced plugin) I hard coded for element ( data.statements[1])…how can I make dynamic ( data.statements JSON array. Loop through all cardnum in data.statements[ 1…n ]). I tried put lua script loop but the above Kong plugin is not accepting the script. Please help me with looping of the below program which need to executed in Kong.

return function (data)
    local s= data.statements[1].cardnum
    local x= s:sub(10 )
    data.statements[1].cardnum= “********”…x
return data end
BALA AP
  • 21
  • 3

1 Answers1

0

You have a typo on the merge operator and string delimiter

Lua merge operator is .. please use "

In your code your have , and

return function (data)
    local s= data.statements[1].cardnum
    local x= s:sub(10 )
    data.statements[1].cardnum= "********"..x
return data end
Ôrel
  • 7,044
  • 3
  • 27
  • 46
  • My previous code itself working for single value...I want loop through for multiple values like data.statements[i] by using loop. I tried LUA script but it's not working – BALA AP Aug 24 '22 at 14:02
  • return function (data) local i = 1 for key, value in pairs(data.statements) do local s= data.statements[i].cardnum local x= s:sub(10 ) data.statements[i].cardnum= "********"..x i = i + 1 end return data end – BALA AP Aug 24 '22 at 14:04
  • I am getting the below error – BALA AP Aug 24 '22 at 14:04
  • schema violation (config.transform: { functions = { "Error parsing function: /usr/local/share/lua/5.1/kong/tools/kong-lua-sandbox.lua:151: [string \"return function (data) ...\"]:1: '=' or 'in' expected near ''", "Error parsing function: /usr/local/share/lua/5.1/kong/tools/kong-lua-sandbox.lua:151: [string \"value in pairs(data.statements) do ...\"]:1: '=' expected near 'in'" } }) – BALA AP Aug 24 '22 at 14:04
  • Please edit you question with those details – Ôrel Aug 24 '22 at 14:21