This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit ba3f24e8eddc872e053b1a432979d69b23e2db8d Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Oct 18 14:45:12 2021 +0200 CAMEL-16861: Cleanup and update EIP docs --- .../docs/modules/eips/pages/setHeader-eip.adoc | 83 ++++++++++++++++------ 1 file changed, 63 insertions(+), 20 deletions(-) diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc index 94aaa4f..671a6e6 100644 --- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc +++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc @@ -5,7 +5,7 @@ :since: :supportlevel: Stable -The SetHeader EIP allows you to set and header on your exchange. +The SetHeader EIP is used for setting a xref:message.adoc[message] header. == Options @@ -13,33 +13,76 @@ The SetHeader EIP allows you to set and header on your exchange. include::partial$eip-options.adoc[] // eip options: END -== Examples +== Using Set Header -The following example shows how to use the SetHeader EIP +The following example shows how to set a header in a Camel route: [source,java] ---- -RouteBuilder builder = new RouteBuilder() { - public void configure() { - from("direct:a") - .setHeader("myHeader", constant("test")) - .to("direct:b"); - } -}; +from("direct:a") + .setHeader("myHeader", constant("test")) + .to("direct:b"); ---- - And the same example using XML: [source,xml] ---- -<camelContext xmlns="http://camel.apache.org/schema/spring"> - <route> - <from uri="direct:a"/> - <setHeader name="myHeader"> - <constant>test</constant> - </setHeader> - <to uri="direct:b"/> - </route> -</camelContext> +<route> + <from uri="direct:a"/> + <setHeader name="myHeader"> + <constant>test</constant> + </setHeader> + <to uri="direct:b"/> +</route> +---- + +In the example the header value is a xref:components:languages:constant-language.adoc[constant]. + +Any of the Camel languages can be used, such as xref:components:languages:simple-language.adoc[Simple]. + +[source,java] +---- +from("direct:a") + .setHeader("randomNumber", simple("${random(1,100)}")) + .to("direct:b"); +---- + +And in XML: + +[source,xml] +---- +<route> + <from uri="direct:a"/> + <setHeader name="randomNumber"> + <simple>${random(1,100)}</simple> + </setHeader> + <to uri="direct:b"/> +</route> +---- + +=== Setting a header from another header + +You can also set a header with the value from another header. + +In the example we set the header foo with the value from an existing header named bar. + +[source,java] +---- +from("direct:a") + .setHeader("foo", header("bar")) + .to("direct:b"); +---- + +And in XML: + +[source,xml] +---- +<route> + <from uri="direct:a"/> + <setHeader name="foo"> + <header>bar</header> + </setHeader> + <to uri="direct:b"/> +</route> ----