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>
 ----

Reply via email to