| [[Howtoremovethehttpprotocolheadersinthecamelmessage-Howtoremovethehttpprotocolheadersinthecamelmessage]] |
| = How to remove the http protocol headers in the camel message? |
| |
| In camel there are a number of components that use the http protocol |
| headers to do their business. |
| The components include camel-http, camel-jetty, |
| camel-cxf, etc. |
| If you are using these component, you may pay attention to the HTTP |
| protocol headers: |
| |
| [source,java] |
| ---- |
| Exchange.CONTENT_ENCODING |
| Exchange.CONTENT_TYPE |
| Exchange.HTTP_BASE_URI |
| Exchange.HTTP_CHARACTER_ENCODING |
| Exchange.HTTP_METHOD |
| Exchange.HTTP_PATH |
| Exchange.HTTP_QUERY |
| Exchange.HTTP_RESPONSE_CODE |
| ---- |
| |
| If you don't want these headers to bother your other endpoints, you can |
| remove these headers as follows: |
| |
| [source,java] |
| ---- |
| from("jetty://http://myhost:9000/myservice/") |
| // Remove the header which name is start with CamelHttp, this DSL is new to Camel 2.3.0 |
| // You can use removeHeader if your camel version is lower than 2.3.0 |
| .removeHeaders("CamelHttp*") |
| .to("otherEndpoint"); |
| ---- |
| |
| [source,xml] |
| ---- |
| <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> |
| <route> |
| <from uri="jetty://http://myhost:9000/myservice/"/> |
| <removeHeaders pattern="CamelHttp*" /> |
| <to uri="otherEndpoint"/> |
| </route> |
| </camelContext> |
| ---- |