You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2013/06/18 13:18:23 UTC

svn commit: r866027 - in /websites/production/camel/content: cache/main.pageCache netty-http.html

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">&#160;</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">&#160;</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">&#160;</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">&#160;</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">&#160;</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">&#160;</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">