Modified: websites/production/camel/content/restlet.html
==============================================================================
--- websites/production/camel/content/restlet.html (original)
+++ websites/production/camel/content/restlet.html Fri Oct 21 11:21:26 2016
@@ -100,7 +100,7 @@
 </div></div><p>Format of restletUrl:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[protocol://hostname[:port][/resourcePattern]
 ]]></script>
-</div></div><p>Restlet promotes decoupling of protocol and application 
concerns. The reference implementation of <a shape="rect" class="external-link" 
href="http://www.noelios.com/products/restlet-engine"; rel="nofollow">Restlet 
Engine</a> supports a number of protocols. However, we have tested the HTTP 
protocol only. The default port is port 80. We do not automatically switch 
default port based on the protocol yet.</p><p>You can append query options to 
the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It seems Restlet is case sensitive 
in understanding headers. For example to use content-type, use Content-Type, 
and for location use Location and so on.</p></div></div><div 
class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>We have received a report about 
drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have 
reported this to the Restlet team in <a shape="rect" class="external-link" 
href="https://github.com/restlet/restlet-framework-java/issues/996"; 
rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 
onwards you can set synchronous=true as option on the endpoint uris, Or set it 
on the RestletComponent as a global option so all endpoints inherit this 
option.</p></div></div><p>&#160;</p><h3 id="Restlet-Options">Options</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Descript
 ion</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
<code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Use the <code>#</code> notation 
(<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header 
filter strategy in the Camel Registry. The strategy will be plugged into the 
restlet binding if it is 
<code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
<code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletMeth
 od</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>On a producer endpoint, specifies the request method to 
use. On a consumer endpoint, specifies that the endpoint consumes only 
<code>restletMethod</code> requests. The string value is converted to <a 
shape="rect" class="external-link" 
href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html";
 rel="nofollow">org.restlet.data.Method</a> by the 
<code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one or more methods separated by commas (e.g. 
<code>restletMethods=post,put</code>) to be serviced by a restlet consumer 
endpoint. If both <code>restletMethod</code> and 
 <code>restletMethods</code> options are specified, the 
<code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one ore more URI templates to be serviced by a restlet consumer 
endpoint, using the <code>#</code> notation to reference a 
<code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has 
been defined in the endpoint URI, both the URI pattern defined in the endpoint 
and the <code>restletU
 riPatterns</code> option will be honored.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>throwExceptionOnFailure</code> 
(<strong>2.6 or later</strong>)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>*Producer only * Throws exception on a producer 
failure.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Since Camel 2.12.3</strong> <strong>Producer 
only</strong> The Client will give up connection if the connection is timeout, 
0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Since Came
 l 2.12.3</strong> <strong>Producer only</strong> The Client socket receive 
timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input stream to support reading it multiple times to 
ensure it Camel can retrieve all data from the stream. However you can set this 
option to&#160;</span><code>true</code><span style="color: 
rgb(0,0,0);">&#160;when you for example need to a
 ccess the raw stream, such as streaming it directly to a file or other 
persistent store. DefaultRestletBinding will copy the request input stream into 
a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple times.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">streamRepresentation</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.4/2.17.2:</strong> <strong>Producer 
only</strong> <span style="line-height: 1.42857;">Whether to support stream 
representation as response from calling a REST service using the restlet 
producer. If the response is streaming then this option can be enabled to use 
an </span><a shape="rect" class="external-link" href="http://java.io"; 
style="line-height: 1.42857;" rel="nofollow">java.io</a><span 
style="line-height: 1.42857;">.InputStream as the mes
 sage body on the Camel Message body. If using this option you may want to 
enable the autoCloseStream option as well to ensure the input stream is closed 
when the Camel Exchange is done being routed. However if you need to read the 
stream outside a Camel route, you may need </span><span style="line-height: 
1.42857;">to not auto close the stream.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">autoCloseStream</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 
2.16.4/2.17.2:</strong><span>&#160;</span><strong>Producer only </strong><span 
style="line-height: 1.42857;">Whether to auto close the stream representation 
as response from calling a REST service using the restlet producer. If the 
response is streaming and the option streamRepresentation is enabled then you 
may want to auto close the InputStream from the streaming response to ensure 
the input stream is closed when the Camel Exchange i
 s done being routed. However if you need to read the stream outside a Camel 
route, you may need to not auto close the 
stream.</span></td></tr></tbody></table></div><h3 
id="Restlet-ComponentOptions">Component Options</h3><p>The Restlet component 
can be configured with the following options. Notice these are 
<strong>component</strong> options and cannot be configured on the endpoint, 
see further below for an example.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>controllerDaemon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if the controller thread shoul
 d be a daemon (not blocking JVM exit).</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for the controller thread to sleep between each 
control.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of 
the buffer when reading messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>minThreads</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum 
threads waiting to service requests.</p></td></t
 r><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxThreads</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum 
threads that will service requests.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads 
determining when the connector is considered overloaded.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of calls that 
can be queued if there aren't any worker thread available to service them. If 
the value is '0', then no queue is used and calls are r
 ejected if no worker thread is immediately available. If the value is '-1', 
then an unbounded queue is used and calls are never rejected.</td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections per host (IP 
address).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections in total.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="
 1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of the buffer 
when writing messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>persistingConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if connections should be kept alive after a 
call.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if pipelining connections are supported.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>
 <strong>Camel 2.10:</strong> Time for an idle thread to wait for an operation 
before being collected.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useForwardedForHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Lookup the "X-Forwarded-For" header supported by popular proxies and caches and 
uses it to populate the Request.getClientAddresses() method result. This 
information is only safe for intermediary components within your local network. 
Other addresses could easily be changed by setting a fake header and should not 
be trusted for serious security checks.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>reuseAddress</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.10.5/2.11.1:</strong>
  Enable/disable the SO_REUSEADDR socket option. See 
java.io.ServerSocket#reuseAddress property for additional 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input stream to support reading it multiple times to 
ensure it Camel can retrieve all data from the stream. However you can set this 
option to&#160;</span><code>true</code><span style="color: 
rgb(0,0,0);">&#160;when you for exam
 ple need to access the raw stream, such as streaming it directly to a file or 
other persistent store. DefaultRestletBinding will copy the request input 
stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple times.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">enabledConverters</td><td colspan="1" 
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.18:</strong><span> By default, Restlet 
engine loads all the extension it finds at run-time and this option filter out 
all the converters except those explicit listed using full qualified class name 
or simple class name. </span>i.e. by setting <span style="line-height: 
1.42857;">enabledConverters=JacksonConverter, GsonConverter the 
RestletComponent will remove all the converters loaded by the <span>Restlet 
engine except Jackson and Gson
 . Note that you still need to add the extensions as 
dependency.</span></span></p></td></tr></tbody></table></div><h3 
id="Restlet-MessageHeaders">Message Headers</h3><div 
class="confluenceTableSmall"><div class="table-wrap">
+</div></div><p>Restlet promotes decoupling of protocol and application 
concerns. The reference implementation of <a shape="rect" class="external-link" 
href="http://www.noelios.com/products/restlet-engine"; rel="nofollow">Restlet 
Engine</a> supports a number of protocols. However, we have tested the HTTP 
protocol only. The default port is port 80. We do not automatically switch 
default port based on the protocol yet.</p><p>You can append query options to 
the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It seems Restlet is case sensitive 
in understanding headers. For example to use content-type, use Content-Type, 
and for location use Location and so on.</p></div></div><div 
class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>We have received a report about 
drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have 
reported this to the Restlet team in <a shape="rect" class="external-link" 
href="https://github.com/restlet/restlet-framework-java/issues/996"; 
rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 
onwards you can set synchronous=true as option on the endpoint uris, Or set it 
on the RestletComponent as a global option so all endpoints inherit this 
option.</p></div></div><p>&#160;</p><h3 id="Restlet-Options">Options</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Descript
 ion</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
<code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Use the <code>#</code> notation 
(<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header 
filter strategy in the Camel Registry. The strategy will be plugged into the 
restlet binding if it is 
<code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
<code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletMeth
 od</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>On a producer endpoint, specifies the request method to 
use. On a consumer endpoint, specifies that the endpoint consumes only 
<code>restletMethod</code> requests. The string value is converted to <a 
shape="rect" class="external-link" 
href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html";
 rel="nofollow">org.restlet.data.Method</a> by the 
<code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one or more methods separated by commas (e.g. 
<code>restletMethods=post,put</code>) to be serviced by a restlet consumer 
endpoint. If both <code>restletMethod</code> and 
 <code>restletMethods</code> options are specified, the 
<code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one ore more URI templates to be serviced by a restlet consumer 
endpoint, using the <code>#</code> notation to reference a 
<code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has 
been defined in the endpoint URI, both the URI pattern defined in the endpoint 
and the <code>restletU
 riPatterns</code> option will be honored.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>throwExceptionOnFailure</code> 
(<strong>2.6 or later</strong>)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>*Producer only * Throws exception on a producer 
failure.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Since Camel 2.12.3</strong> <strong>Producer 
only</strong> The Client will give up connection if the connection is timeout, 
0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Since Came
 l 2.12.3</strong> <strong>Producer only</strong> The Client socket receive 
timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input stream to support reading it multiple times to 
ensure it Camel can retrieve all data from the stream. However you can set this 
option to&#160;</span><code>true</code><span style="color: 
rgb(0,0,0);">&#160;when you for example need to a
 ccess the raw stream, such as streaming it directly to a file or other 
persistent store. DefaultRestletBinding will copy the request input stream into 
a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple times.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>streamRepresentation</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 
2.16.4/2.17.2:</strong> <strong>Producer only</strong> <span 
style="line-height: 1.42857;">Whether to support stream representation as 
response from calling a REST service using the restlet producer. If the 
response is streaming then this option can be enabled to use an </span><a 
shape="rect" class="external-link" href="http://java.io"; style="line-height: 
1.42857;" rel="nofollow">java.io</a><span style="line-height: 1.42857
 ;">.InputStream as the message body on the Camel Message body. If using this 
option you may want to enable the autoCloseStream option as well to ensure the 
input stream is closed when the Camel Exchange is done being routed. However if 
you need to read the stream outside a Camel route, you may need </span><span 
style="line-height: 1.42857;">to not auto close the 
stream.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>autoCloseStream</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 
2.16.4/2.17.2:</strong><span>&#160;</span><strong>Producer only </strong><span 
style="line-height: 1.42857;">Whether to auto close the stream representation 
as response from calling a REST service using the restlet producer. If the 
response is streaming and the option streamRepresentation is enabled then you 
may want to auto close the InputStream from the streaming response to ensure 
 the input stream is closed when the Camel Exchange is done being routed. 
However if you need to read the stream outside a Camel route, you may need to 
not auto close the stream.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.19: Producer only:</strong> Configure a 
cookie handler to maintain a HTTP session</td></tr></tbody></table></div><h3 
id="Restlet-ComponentOptions">Component Options</h3><p>The Restlet component 
can be configured with the following options. Notice these are 
<strong>component</strong> options and cannot be configured on the endpoint, 
see further below for an example.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th col
 span="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>controllerDaemon</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Indicates if 
the controller thread should be a daemon (not blocking JVM 
exit).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for the controller thread to sleep between each 
control.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</stro
 ng> The size of the buffer when reading messages.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>minThreads</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum 
threads waiting to service requests.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>maxThreads</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum threads that will service requests.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads 
determining when the connector is considered overloaded.</td></tr><tr><td cols
 pan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of calls that 
can be queued if there aren't any worker thread available to service them. If 
the value is '0', then no queue is used and calls are rejected if no worker 
thread is immediately available. If the value is '-1', then an unbounded queue 
is used and calls are never rejected.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections per host (IP 
address).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code
 >-1</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum number of 
 >concurrent connections in total.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
 >The size of the buffer when writing messages.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>persistingConnections</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
 >Indicates if connections should be kept alive after a 
 >call.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>false</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if pipelining connections are supported.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for an idle thread to wait for an operation before being 
collected.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useForwardedForHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Lookup the "X-Forwarded-For" header supported by popular proxies and caches and 
uses it to populate the Request.getClientAddresses() method result. This 
information is only safe for intermediary components within your local network. 
Other addresses could easil
 y be changed by setting a fake header and should not be trusted for serious 
security checks.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>reuseAddress</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.5/2.11.1:</strong> 
Enable/disable the SO_REUSEADDR socket option. See 
java.io.ServerSocket#reuseAddress property for additional 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-
 caching.html" title="Stream caching">Stream caching</a><span style="color: 
rgb(0,0,0);">) cache. By default Camel will cache the Jetty input stream to 
support reading it multiple times to ensure it Camel can retrieve all data from 
the stream. However you can set this option 
to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you 
for example need to access the raw stream, such as streaming it directly to a 
file or other persistent store. DefaultRestletBinding will copy the request 
input stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple times.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">enabledConverters</td><td colspan="1" 
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.18:</strong><span> By default, Restlet 
engine loads all the extension it fin
 ds at run-time and this option filter out all the converters except those 
explicit listed using full qualified class name or simple class name. 
</span>i.e. by setting <span style="line-height: 
1.42857;">enabledConverters=JacksonConverter, GsonConverter the 
RestletComponent will remove all the converters loaded by the <span>Restlet 
engine except Jackson and Gson. Note that you still need to add the extensions 
as dependency.</span></span></p></td></tr></tbody></table></div><h3 
id="Restlet-MessageHeaders">Message Headers</h3><div 
class="confluenceTableSmall"><div class="table-wrap">
  <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Content-Type</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the content type, 
which can be set on the OUT message by the application/processor. The value is 
the <code>content-type</code> of the response message. If this header is not 
set, the content type is based on the object type of the OUT message body. In 
Camel 2.3 onward, if the Content-Type header is specified in the Camel IN 
message, the value of the header determine the content type for the Restlet 
request message.&#160;&#160; Otherwise, it is defaulted to 
"application/x-www-form-urlencoded'. Prior to release 
 2.3, it is not possible to change the request content type 
default.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAcceptContentType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.9.3, 
2.10.0:</strong> The HTTP Accept request header.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpMethod</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The HTTP request method. This is set in the 
IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpQuery</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The query string of the request URI. It is 
set on the IN message by <c
 ode>DefaultRestletBinding</code> when the restlet component receives a 
request.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpResponseCode</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>Integer</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The response code can be set on the OUT message by the 
application/processor. The value is the response code of the response message. 
If this header is not set, the response code is set by the restlet runtime 
engine.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpUri</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The HTTP request URI. This is set in the IN 
message header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletLogin</code></p></td><td colspan="1" 
rowspan="1" c
 lass="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Login name for basic authentication. It is set on the 
IN message by the application and gets filtered before the restlet request 
header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Password name for basic 
authentication. It is set on the IN message by the application and gets 
filtered before the restlet request header by Camel.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletRequest</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Request</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The 
<code>org.restlet.Request</code> object which holds all request 
details.</p></td>
 </tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletResponse</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Response</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The 
<code>org.restlet.Response</code> object. You can use this to create responses 
using the API from Restlet. See examples below.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>org.restlet.*</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Attributes of a Restlet message that get propagated to 
Camel IN headers.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cache-control</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>List&lt;CacheDirective&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</stron
 g> User can set the cache-control with the String value or the List of 
CacheDirective of Restlet from the camel message 
header.</p></td></tr></tbody></table>
 </div></div><h3 id="Restlet-MessageBody">Message Body</h3><p>Camel will store 
the restlet response from the external server on the OUT body. All headers from 
the IN message will be copied to the OUT message, so that headers are preserved 
during routing.</p><h3 id="Restlet-Samples">Samples</h3><h4 
id="Restlet-RestletEndpointwithAuthentication">Restlet Endpoint with 
Authentication</h4><p>The following route starts a <code>restlet</code> 
consumer endpoint that listens for <code>POST</code> requests on <a 
shape="rect" class="external-link" href="http://localhost:8080"; 
rel="nofollow">http://localhost:8080</a>. The processor creates a response that 
echoes the request body and the value of the <code>id</code> header.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[

Modified: websites/production/camel/content/undertow.html
==============================================================================
--- websites/production/camel/content/undertow.html (original)
+++ websites/production/camel/content/undertow.html Fri Oct 21 11:21:26 2016
@@ -97,7 +97,7 @@
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[undertow:http://hostname[:port][/resourceUri][?options]
 ]]></script>
 </div></div><p>You can append query options to the URI in the following 
format, <code>?option=value&amp;option=value&amp;...</code></p><h3 
id="Undertow-Options">Options</h3><div class="confluenceTableSmall"><div 
class="table-wrap">
- <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>httpMethodRestrict</p></td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Used to only allow consuming if the HttpMethod matches, 
such as GET/POST/PUT etc. Multiple methods can be specified separated by 
comma.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>matchOnUriPrefix</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether or not the consumer should try to find a target 
consumer by matching the URI prefix if no exact match is 
found.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>headerFilterStrategy</p></
 td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">To use a custom HeaderFilterStrategy to filter 
header to and from Camel message.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>sslContextParameters</p></td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">To configure security using 
SSLContextParameters</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">throwExceptionOnFailure</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">If the option is true, HttpProducer will ignore the 
Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also 
set the option throwExceptionOnFailure to be false to let the producer send all 
the fault response back.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">transferException</td><td colspan="1" rowspan="1" class
 ="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Option to disable throwing the 
HttpOperationFailedException in case of failed responses from the remote 
server. This allows you to get all responses regardless of the HTTP status 
code.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">undertowHttpBinding</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">To use a custom UndertowHttpBinding to control the mapping 
between Camel message and undertow.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span style="color: rgb(0,0,0);">keepAlive</span></td><td 
colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16.1:</strong> 
<strong>Producer only:</strong> Setting to ensure socket is not closed due to 
inactivity</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">tcpNoDelay</td><td colspan="1" rowspan="1
 " class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Setting to improve TCP protocol 
performance</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">reuseAddresses</td><td colspan="1" rowspan="1" 
class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Setting to facilitate socket 
multiplexing</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">options.XXX</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Sets additional channel options. The options 
that can be used are defined in <code>org.xnio.Options</code>. To configure 
from endpoint uri, then prefix each option with "option.", such as 
"option.close-abort=true
 &amp;option.send-buffer=8192"</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">enableOptions</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17:</strong> Specifies whether to enable 
HTTP OPTIONS for this Undertow consumer. By default OPTIONS is turned 
off.</td></tr></tbody></table>
+ <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>httpMethodRestrict</p></td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Used to only allow consuming if the HttpMethod matches, 
such as GET/POST/PUT etc. Multiple methods can be specified separated by 
comma.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>matchOnUriPrefix</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether or not the consumer should try to find a target 
consumer by matching the URI prefix if no exact match is 
found.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>headerFilterStrategy</p></
 td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">To use a custom HeaderFilterStrategy to filter 
header to and from Camel message.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>sslContextParameters</p></td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">To configure security using 
SSLContextParameters</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">throwExceptionOnFailure</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">If the option is true, HttpProducer will ignore the 
Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also 
set the option throwExceptionOnFailure to be false to let the producer send all 
the fault response back.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">transferException</td><td colspan="1" rowspan="1" class
 ="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Option to disable throwing the 
HttpOperationFailedException in case of failed responses from the remote 
server. This allows you to get all responses regardless of the HTTP status 
code.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">undertowHttpBinding</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">To use a custom UndertowHttpBinding to control the mapping 
between Camel message and undertow.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span style="color: rgb(0,0,0);">keepAlive</span></td><td 
colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16.1:</strong> 
<strong>Producer only:</strong> Setting to ensure socket is not closed due to 
inactivity</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">tcpNoDelay</td><td colspan="1" rowspan="1
 " class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Setting to improve TCP protocol 
performance</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">reuseAddresses</td><td colspan="1" rowspan="1" 
class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Setting to facilitate socket 
multiplexing</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">options.XXX</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.1:</strong> <strong>Producer 
only:</strong><span>&#160;</span>Sets additional channel options. The options 
that can be used are defined in <code>org.xnio.Options</code>. To configure 
from endpoint uri, then prefix each option with "option.", such as 
"option.close-abort=true
 &amp;option.send-buffer=8192"</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">enableOptions</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17:</strong> Specifies whether to enable 
HTTP OPTIONS for this Undertow consumer. By default OPTIONS is turned 
off.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">cookieHandler</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.19: Producer only:</strong> Configure a 
cookie handler to maintain a HTTP session</td></tr></tbody></table>
 </div></div><h3 id="Undertow-MessageHeaders">Message Headers</h3><p>Camel uses 
the same message headers as the <a shape="rect" href="http.html">HTTP</a> 
component.<br clear="none"> From Camel 2.2, it also uses 
<code>Exchange.HTTP_CHUNKED,CamelHttpChunked</code>&#160;header to turn on or 
turn off the chuched encoding on the camel-undertow consumer.</p><p>Camel also 
populates <strong>all</strong> request.parameter and request.headers. For 
example, given a client request with the URL, <code><a shape="rect" 
class="external-link" href="http://myserver/myserver?orderid=123"; 
rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange 
will contain a header named <code>orderid</code> with the value 123.</p><h3 
id="Undertow-ComponentOptions">Component Options</h3><p>The 
<code>UndertowComponent</code> provides the following options:</p><div 
class="confluenceTableSmall"><div class="table-wrap">
  <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>undertowHttpBinding</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>To use a custom UndertowHttpBinding to control the 
mapping between Camel message and undertow.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>httpConfiguration</p></td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">To use the shared HttpConfiguration as base 
configuration.</td></tr></tbody></table>
 </div></div><h3 id="Undertow-ProducerExample">Producer Example</h3><p>The 
following is a basic example of how to send an HTTP request to an existing HTTP 
endpoint.</p><p>in Java DSL</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">


Reply via email to