[
https://issues.apache.org/jira/browse/CAMEL-21928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-21928.
---------------------------------
Assignee: Claus Ibsen
Resolution: Fixed
> camel-jq - include variable() and body() as new functions to access
> in-process data
> -----------------------------------------------------------------------------------
>
> Key: CAMEL-21928
> URL: https://issues.apache.org/jira/browse/CAMEL-21928
> Project: Camel
> Issue Type: Improvement
> Components: camel-jq
> Reporter: Bruno Meseguer
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.12.0
>
>
> According to the documentation here:
> *
> [https://camel.apache.org/components/next/languages/jq-language.html#_camel_supplied_jq_functions]
> The Camel JQ component includes functions to access:
> * headers
> * properties
> However, now Camel includes variables, which is the recommended way to keep
> process data in context.
> As variables are not supported, users are obligated to set headers or
> properties in order to access in-process data.
> Another desirable function to have is 'body()'. At first, it seems
> unnecessary because a JQ expression would operate against the message body by
> default. However, you might want to define the expression to use a variable
> as the source, and then need to access the body (not possible at the moment).
> To illustrate the need, see the YAML below, where you might want to use JQ to
> modify a variable, and use data from the body like this:
>
> {code:java}
> - setVariable:
> name: mydata
> expression:
> jq:
> source: mydata
> expression: '. + [{"response1": body()}]'{code}
> For clarity, the code above reads the variable "mydata" that contains a JSON
> array, the expression adds a new entry "response1" with the value from the
> body.
> To summarise the need, please include:
> * new function {*}variable(){*}, for example to do variable("mydata")
> * new function *body()*
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)