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.

Reply via email to