Repository: camel
Updated Branches:
  refs/heads/master 226fb4606 -> 36ce04183


Added camel-undertow docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/963acd60
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/963acd60
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/963acd60

Branch: refs/heads/master
Commit: 963acd608d737ecb57d369b31aaa2f5f00722b88
Parents: 226fb46
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Thu Jun 9 09:05:57 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Thu Jun 9 09:05:57 2016 +0200

----------------------------------------------------------------------
 .../camel-undertow/src/main/docs/undertow.adoc  | 174 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 175 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/963acd60/components/camel-undertow/src/main/docs/undertow.adoc
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/docs/undertow.adoc 
b/components/camel-undertow/src/main/docs/undertow.adoc
new file mode 100644
index 0000000..275b5ad
--- /dev/null
+++ b/components/camel-undertow/src/main/docs/undertow.adoc
@@ -0,0 +1,174 @@
+[[Undertow-UndertowComponent]]
+Undertow Component
+~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.16*
+
+The *undertow* component provides HTTP-based
+link:endpoint.html[endpoints] for consuming and producing HTTP requests.
+That is, the Undertow component behaves as a simple Web server. +
+ Undertow can also be used as a http client which mean you can also use
+it with Camel as a producer.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-undertow</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[Undertow-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-------------------------------------------------------
+undertow:http://hostname[:port][/resourceUri][?options]
+-------------------------------------------------------
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[Undertow-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The Undertow component supports 2 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| undertowHttpBinding | UndertowHttpBinding | To use a custom HttpBinding to 
control the mapping between Camel message and HttpClient.
+| sslContextParameters | SSLContextParameters | To configure security using 
SSLContextParameters
+|=======================================================================
+{% endraw %}
+// component options: END
+
+
+
+// endpoint options: START
+The Undertow component supports 17 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| httpURI | common |  | URI | *Required* The url of the HTTP endpoint to use.
+| transferException | common |  | Boolean | 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.
+| bridgeErrorHandler | consumer | false | boolean | Allows for bridging the 
consumer to the Camel routing Error Handler which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages or the likes will now 
be processed as a message and handled by the routing Error Handler. By default 
the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN/ERROR level and ignored.
+| httpMethodRestrict | consumer |  | String | Used to only allow consuming if 
the HttpMethod matches such as GET/POST/PUT etc. Multiple methods can be 
specified separated by comma.
+| matchOnUriPrefix | consumer | true | Boolean | Whether or not the consumer 
should try to find a target consumer by matching the URI prefix if no exact 
match is found.
+| optionsEnabled | consumer | false | boolean | Specifies whether to enable 
HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.
+| exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the 
consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler 
is enabled then this options is not in use. By default the consumer will deal 
with exceptions that will be logged at WARN/ERROR level and ignored.
+| keepAlive | producer | true | Boolean | Setting to ensure socket is not 
closed due to inactivity
+| options | producer |  | Map | Sets additional channel options. The options 
that can be used are defined in org.xnio.Options. To configure from endpoint 
uri then prefix each option with option. such as 
option.close-abort=true&option.send-buffer=8192
+| reuseAddresses | producer | true | Boolean | Setting to facilitate socket 
multiplexing
+| tcpNoDelay | producer | true | Boolean | Setting to improve TCP protocol 
performance
+| throwExceptionOnFailure | producer |  | Boolean | 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.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default 
exchange pattern when creating an exchange
+| headerFilterStrategy | advanced |  | HeaderFilterStrategy | To use a custom 
HeaderFilterStrategy to filter header to and from Camel message.
+| synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
+| undertowHttpBinding | advanced |  | UndertowHttpBinding | To use a custom 
UndertowHttpBinding to control the mapping between Camel message and undertow.
+| sslContextParameters | security |  | SSLContextParameters | To configure 
security using SSLContextParameters
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+[[Undertow-MessageHeaders]]
+Message Headers
+^^^^^^^^^^^^^^^
+
+Camel uses the same message headers as the link:http.html[HTTP]
+component. 
+ From Camel 2.2, it also uses
+`Exchange.HTTP_CHUNKED,CamelHttpChunked` header to turn on or turn off
+the chuched encoding on the camel-undertow consumer.
+
+Camel also populates *all* request.parameter and request.headers. For
+example, given a client request with the URL,
+`http://myserver/myserver?orderid=123`, the exchange will contain a
+header named `orderid` with the value 123.
+
+[[Undertow-ProducerExample]]
+Producer Example
+^^^^^^^^^^^^^^^^
+
+The following is a basic example of how to send an HTTP request to an
+existing HTTP endpoint.
+
+in Java DSL
+
+[source,java]
+----------------------------------------------------------
+from("direct:start").to("undertow:http://www.google.com";);
+----------------------------------------------------------
+
+or in Spring XML
+
+[source,xml]
+----------------------------------------------
+<route>
+    <from uri="direct:start"/>
+    <to uri="undertow:http://www.google.com"/>
+<route>
+----------------------------------------------
+
+[[Undertow-ConsumerExample]]
+Consumer Example
+^^^^^^^^^^^^^^^^
+
+In this sample we define a route that exposes a HTTP service at
+`http://localhost:8080/myapp/myservice`:
+
+[source,xml]
+--------------------------------------------------------------
+<route>
+  <from uri="undertow:http://localhost:8080/myapp/myservice"/>
+  <to uri="bean:myBean"/>
+</route>
+--------------------------------------------------------------
+
+NOTE:*Usage of localhost*
+When you specify `localhost` in a URL, Camel exposes the endpoint only
+on the local TCP/IP network interface, so it cannot be accessed from
+outside the machine it operates on.
+
+If you need to expose a Jetty endpoint on a specific network interface,
+the numerical IP address of this interface should be used as the host.
+If you need to expose a Jetty endpoint on all network interfaces, the
+`0.0.0.0` address should be used.
+
+TIP:To listen across an entire URI prefix, see
+link:how-do-i-let-jetty-match-wildcards.html[How do I let Jetty match
+wildcards].
+
+
+TIP:If you actually want to expose routes by HTTP and already have a
+Servlet, you should instead refer to the
+https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=46339[Servlet
+Transport].
+
+[[Undertow-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:jetty.html[Jetty]
+* link:http.html[HTTP]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/963acd60/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index a2246eb..259b937 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -266,6 +266,7 @@
     * [Swagger Java](swagger-java.adoc)
     * [Telegram](telegram.adoc)
     * [Twitter](twitter.adoc)
+    * [Undertow](undertow.adoc)
     * [Websocket](websocket.adoc)
     * [XML Security](xmlsecurity.adoc)
     * [Yammer](yammer.adoc)

Reply via email to