Author: buildbot Date: Tue Jun 18 11:18:23 2013 New Revision: 866027 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/cache/main.pageCache websites/production/camel/content/netty-http.html Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/netty-http.html ============================================================================== --- websites/production/camel/content/netty-http.html (original) +++ websites/production/camel/content/netty-http.html Tue Jun 18 11:18:23 2013 @@ -116,7 +116,7 @@ netty-http:http:<span class="code-commen Notice that some options from <a shape="rect" href="netty.html" title="Netty">Netty</a> is not applicable when using this <a shape="rect" href="netty-http.html" title="Netty HTTP">Netty HTTP</a> component, such as options related to UDP transport.</td></tr></table></div> <div class="confluenceTableSmall"><div class="table-wrap"> -<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>chunked</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allow using chunked transfer if the client supports it from the HTTP headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>compression</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allow using gzip/deflate for compression if the client supports it from the HTTP headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>headerFilterStrategy</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1 " rowspan="1" class="confluenceTd"> To use a custom <tt>org.apache.camel.spi.HeaderFilterStrategy</tt> to filter headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>httpMethodRestrict</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"> To disable HTTP methods on the Netty HTTP consumer. You can specify multiple separated by comma. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mapHeaders</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If this option is enabled, then during binding from Netty to Camel <a shape="rect" href="message.html" title="Message">Message</a> then the headers will be mapped as well (eg added as header to the Camel <a shape="rect" href="message.html" title="Message">Message</a> as well). You can turn off this option to disable this. The headers can still be acces sed from the <tt>org.apache.camel.component.netty.http.NettyHttpMessage</tt> message with the method <tt>getHttpRequest()</tt> that returns the Netty HTTP request <tt>org.jboss.netty.handler.codec.http.HttpRequest</tt> instance. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>nettyHttpBinding</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"> To use a custom <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> for binding to/from Netty and Camel Message API. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>throwExceptionOnFailure</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Option to disable throwing the <tt>HttpOperationFailedException</tt> in case of failed responses from the remote server. This allows you to get all responses regardles of the HTTP status code. </td></tr><t r><td colspan="1" rowspan="1" class="confluenceTd"> <tt>traceEnabled</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>transferException</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If enabled and an <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a <tt>application/x-java-serialized-object</tt> content type. On the producer side the exception will be deserialized and thrown as is, instead of the <tt>HttpOperationFailedException</tt>. The caused exception is required to be serialized. </td></tr><tr><td colspan="1" rowsp an="1" class="confluenceTd"> <tt>urlDecodeHeaders</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If this option is enabled, then during binding from Netty to Camel <a shape="rect" href="message.html" title="Message">Message</a> then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> and therefore if you implement a custom <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> then you would need to decode the headers accordingly to this option. </td></tr></tbody></table> +<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>chunked</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allow using chunked transfer if the client supports it from the HTTP headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>compression</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allow using gzip/deflate for compression if the client supports it from the HTTP headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>headerFilterStrategy</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1 " rowspan="1" class="confluenceTd"> To use a custom <tt>org.apache.camel.spi.HeaderFilterStrategy</tt> to filter headers. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>httpMethodRestrict</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"> To disable HTTP methods on the Netty HTTP consumer. You can specify multiple separated by comma. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mapHeaders</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If this option is enabled, then during binding from Netty to Camel <a shape="rect" href="message.html" title="Message">Message</a> then the headers will be mapped as well (eg added as header to the Camel <a shape="rect" href="message.html" title="Message">Message</a> as well). You can turn off this option to disable this. The headers can still be acces sed from the <tt>org.apache.camel.component.netty.http.NettyHttpMessage</tt> message with the method <tt>getHttpRequest()</tt> that returns the Netty HTTP request <tt>org.jboss.netty.handler.codec.http.HttpRequest</tt> instance. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>matchOnUriPrefix</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether or not Camel should try to find a target consumer by matching the URI prefix if no exact match is found. See further below for more details. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>nettyHttpBinding</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"> To use a custom <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> for binding to/from Netty and Camel Message API. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd" > <tt>throwExceptionOnFailure</tt> </td><td colspan="1" rowspan="1" > class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" > class="confluenceTd"> Option to disable throwing the > <tt>HttpOperationFailedException</tt> in case of failed responses from the > remote server. This allows you to get all responses regardles of the HTTP > status code. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> > <tt>traceEnabled</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> > <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> > Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By > default TRACE is turned off. </td></tr><tr><td colspan="1" rowspan="1" > class="confluenceTd"> <tt>transferException</tt> </td><td colspan="1" > rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" > rowspan="1" class="confluenceTd"> If enabled and an <a shape="rect" > href="exchange.html" title="Exchange">Exchange</a> failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a <tt>application/x-java-serialized-object</tt> content type. On the producer side the exception will be deserialized and thrown as is, instead of the <tt>HttpOperationFailedException</tt>. The caused exception is required to be serialized. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>urlDecodeHeaders</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If this option is enabled, then during binding from Netty to Camel <a shape="rect" href="message.html" title="Message">Message</a> then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> and therefore if you implement a custom <tt>org.apache.camel.component.netty.http.NettyHttpBinding</tt> then you would need to deco de the headers accordingly to this option. </td></tr></tbody></table> </div> </div> @@ -177,11 +177,38 @@ org.jboss.netty.handler.codec.http.HttpR <p>And we get back "Bye World" as the output.</p> +<h3><a shape="rect" name="NettyHTTP-HowdoIletNettymatchwildcards"></a>How do I let Netty match wildcards</h3> + +<p>By default <a shape="rect" href="netty-http.html" title="Netty HTTP">Netty HTTP</a> will only match on exact uri's. But you can instruct Netty to match prefixes. For example</p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java"> +from(<span class="code-quote">"netty-http:http:<span class="code-comment">//0.0.0.0:8123/foo"</span>).to(<span class="code-quote">"mock:foo"</span>);</span> +</pre> +</div></div> + +<p>In the route above <a shape="rect" href="netty-http.html" title="Netty HTTP">Netty HTTP</a> will only match if the uri is an exact match, so it will match if you enter<br clear="none"> +<tt><a shape="rect" class="external-link" href="http://0.0.0.0:8123/foo" rel="nofollow">http://0.0.0.0:8123/foo</a></tt> but not match if you do <tt><a shape="rect" class="external-link" href="http://0.0.0.0:8123/foo/bar" rel="nofollow">http://0.0.0.0:8123/foo/bar</a></tt>.</p> + +<p>So if you want to enable wildcard matching you do as follows: </p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java"> +from(<span class="code-quote">"netty-http:http:<span class="code-comment">//0.0.0.0:8123/foo?matchOnUriPrefix=<span class="code-keyword">true</span>"</span>).to(<span class="code-quote">"mock:foo"</span>);</span> +</pre> +</div></div> +<p>So now Netty matches any endpoints with starts with <tt>foo</tt>.</p> + +<p>To match <b>any</b> endpoint you can do:</p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java"> +from(<span class="code-quote">"netty-http:http:<span class="code-comment">//0.0.0.0:8123?matchOnUriPrefix=<span class="code-keyword">true</span>"</span>).to(<span class="code-quote">"mock:foo"</span>);</span> +</pre> +</div></div> + <h3><a shape="rect" name="NettyHTTP-SeeAlso"></a>See Also</h3> <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul> -<ul class="alternate" type="square"><li><a shape="rect" href="netty.html" title="Netty">Netty</a></li></ul> +<ul class="alternate" type="square"><li><a shape="rect" href="netty.html" title="Netty">Netty</a></li><li><a shape="rect" href="jetty.html" title="Jetty">Jetty</a></li></ul> </div> </td> <td valign="top">