Extends DSL with more header filtering constructs
-------------------------------------------------
Key: CAMEL-3429
URL: https://issues.apache.org/jira/browse/CAMEL-3429
Project: Camel
Issue Type: Improvement
Components: camel-core
Reporter: Richard Kettelerij
Fix For: 2.6.0
Attachments: remove-headers-camel-core.patch
Currently the DSL offers the following methods:
- {{removeHeader(name)}} which removes a single header
- {{removeHeaders(pattern)}} remove one or more headers based on a pattern
(since 2.3)
The attached patch extends the DSL with the following methods:
- {{removeHeaders(name...)}} removes the headers in the given a vararg
parameter.
- {{removeHeadersExcept(pattern)}} removes all headers except for the ones
matching the given pattern (opposite of {{removeHeaders(pattern)}})
- {{removeHeadersExcept(name...)}} removes all headers except for the ones in
the given vararg parameter (opposite of {{removeHeaders(name)}})
The rationale for the removeHeadersExcept() method is that in many cases you
want to take a _defensive_ approach with regard to header propagation.
Sometimes you may want to remove _every_ header on the current message, in that
case just call removeHeadersExcept() with no arguments.
In other cases you want to propagate only the "id" header received through the
servlet/jetty component (as a query parameter). In that case call
removeHeadersExcept("id") to preserve the "id" header, while preventing other
query parameters (and standard HTTP headers) to flow down your route.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.