You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/01/06 13:40:55 UTC

[camel-quarkus] branch master updated (52aa82f -> 4477156)

This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git.


    from 52aa82f  build: formatter-maven-plugin should validate code format when check-format profile is active
     new 26ad0a5  Add IntelliJ IDEA's lsp output dir to gitignore
     new 4477156  Create a camel-http extension #596

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |  3 ++
 .../pages/list-of-camel-quarkus-extensions.adoc    |  5 ++-
 extensions/{ahc => http}/deployment/pom.xml        | 14 ++++---
 .../component/http/deployment/HttpProcessor.java}  | 21 +++++------
 extensions/{aws-ec2 => http}/pom.xml               |  4 +-
 extensions/{ahc => http}/runtime/pom.xml           | 17 ++++++---
 .../main/resources/META-INF/quarkus-extension.yaml |  5 ++-
 extensions/pom.xml                                 |  1 +
 extensions/readme.adoc                             |  5 ++-
 .../httpclient}/deployment/pom.xml                 | 17 ++++-----
 .../httpclient/deployment/HttpClientFeature.java}  |  8 ++--
 .../deployment/HttpClientProcessor.java}           | 42 ++++++++++-----------
 extensions/support/{common => httpclient}/pom.xml  |  5 ++-
 .../{slack => support/httpclient}/runtime/pom.xml  | 22 ++++-------
 .../main/resources/META-INF/quarkus-extension.yaml |  5 ++-
 .../support/httpcomponents}/pom.xml                | 12 +++---
 extensions/support/pom.xml                         |  1 +
 integration-tests/{ahc => http}/pom.xml            | 15 ++++++--
 .../quarkus/component/http/it/HttpResource.java}   | 44 ++++++++++------------
 .../quarkus/component/http/it/HttpService.java}    | 25 ++++++------
 .../src/main/resources/application.properties      |  0
 .../camel/quarkus/component/http/it/HttpIT.java}   |  4 +-
 .../camel/quarkus/component/http/it/HttpTest.java} | 28 +++++++++-----
 integration-tests/pom.xml                          |  1 +
 poms/bom-deployment/pom.xml                        | 10 +++++
 poms/bom/pom.xml                                   | 25 ++++++++++++
 26 files changed, 196 insertions(+), 143 deletions(-)
 copy extensions/{ahc => http}/deployment/pom.xml (85%)
 copy extensions/{support/ahc/deployment/src/main/java/org/apache/camel/quarkus/component/support/ahc/deployment/SupportAhcProcessor.java => http/deployment/src/main/java/org/apache/camel/quarkus/component/http/deployment/HttpProcessor.java} (72%)
 copy extensions/{aws-ec2 => http}/pom.xml (93%)
 copy extensions/{ahc => http}/runtime/pom.xml (85%)
 copy extensions/{file => http}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (90%)
 copy extensions/{slack => support/httpclient}/deployment/pom.xml (84%)
 copy extensions/{controlbus/deployment/src/main/java/org/apache/camel/quarkus/component/controlbus/deployment/ControlbusProcessor.java => support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientFeature.java} (86%)
 copy extensions/{netty/deployment/src/main/java/org/apache/camel/quarkus/component/netty/deployment/NettyProcessor.java => support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientProcessor.java} (50%)
 copy extensions/support/{common => httpclient}/pom.xml (91%)
 copy extensions/{slack => support/httpclient}/runtime/pom.xml (83%)
 copy extensions/{http-common => support/httpclient}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (89%)
 copy {catalog => extensions/support/httpcomponents}/pom.xml (84%)
 copy integration-tests/{ahc => http}/pom.xml (90%)
 copy integration-tests/{paho/src/main/java/org/apache/camel/quarkus/component/paho/it/PahoResource.java => http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpResource.java} (58%)
 copy integration-tests/{mail/src/main/java/org/apache/camel/quarkus/component/mail/CamelResource.java => http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpService.java} (74%)
 copy integration-tests/{netty-http => http}/src/main/resources/application.properties (100%)
 copy integration-tests/{core/src/test/java/org/apache/camel/quarkus/core/CamelITCase.java => http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpIT.java} (91%)
 copy integration-tests/{exec/src/test/java/org/apache/camel/quarkus/component/exec/it/ExecTest.java => http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpTest.java} (64%)


[camel-quarkus] 02/02: Create a camel-http extension #596

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 44771563e1a6d2b07290dfde24ce405b6512d126
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Jan 6 00:05:20 2020 +0100

    Create a camel-http extension #596
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |   5 +-
 extensions/http/deployment/pom.xml                 |  83 +++++++++++++
 .../component/http/deployment/HttpProcessor.java   |  42 +++++++
 extensions/{support => http}/pom.xml               |  25 ++--
 extensions/http/runtime/pom.xml                    |  91 ++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  27 +++++
 extensions/pom.xml                                 |   1 +
 extensions/readme.adoc                             |   5 +-
 extensions/support/httpclient/deployment/pom.xml   |  74 +++++++++++
 .../httpclient/deployment/HttpClientFeature.java   |  29 +++++
 .../httpclient/deployment/HttpClientProcessor.java |  48 ++++++++
 extensions/support/{ => httpclient}/pom.xml        |  18 ++-
 extensions/support/httpclient/runtime/pom.xml      |  84 +++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  29 +++++
 extensions/support/{ => httpcomponents}/pom.xml    |  16 +--
 extensions/support/pom.xml                         |   1 +
 integration-tests/http/pom.xml                     | 135 +++++++++++++++++++++
 .../quarkus/component/http/it/HttpResource.java    |  58 +++++++++
 .../quarkus/component/http/it/HttpService.java     |  44 +++++++
 .../http/src/main/resources/application.properties |  25 ++++
 .../camel/quarkus/component/http/it/HttpIT.java    |  23 ++++
 .../camel/quarkus/component/http/it/HttpTest.java  |  46 +++++++
 integration-tests/pom.xml                          |   1 +
 poms/bom-deployment/pom.xml                        |  10 ++
 poms/bom/pom.xml                                   |  25 ++++
 25 files changed, 906 insertions(+), 39 deletions(-)

diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index 646789c..ce4049d 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -6,7 +6,7 @@ As of Camel Quarkus {camel-quarkus-last-release} the following Camel artifacts a
 == Camel Components
 
 // components: START
-Number of Camel components: 54 in 46 JAR artifacts (0 deprecated)
+Number of Camel components: 55 in 47 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -78,6 +78,9 @@ Number of Camel components: 54 in 46 JAR artifacts (0 deprecated)
 | link:https://camel.apache.org/components/latest/ftps-component.html[FTPS] (camel-quarkus-ftp) +
 `ftps:host:port/directoryName` | 1.0.0-M1 | The \ftps (FTP secure SSL/TLS) component is used for uploading or downloading files from FTP servers.
 
+| link:https://camel.apache.org/components/latest/http-component.html[HTTP] (camel-quarkus-http) +
+`http:httpUri` | 1.0.0 | For calling out to external HTTP servers using Apache HTTP Client 4.x.
+
 | link:https://camel.apache.org/components/latest/infinispan-component.html[Infinispan] (camel-quarkus-infinispan) +
 `infinispan:cacheName` | 0.2.0 | For reading/writing from/to Infinispan distributed key/value store and data grid.
 
diff --git a/extensions/http/deployment/pom.xml b/extensions/http/deployment/pom.xml
new file mode 100644
index 0000000..77e731f
--- /dev/null
+++ b/extensions/http/deployment/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-http-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-http-deployment</artifactId>
+    <name>Camel Quarkus :: HTTP :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-http-common-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-httpclient-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-http</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions/http/deployment/src/main/java/org/apache/camel/quarkus/component/http/deployment/HttpProcessor.java b/extensions/http/deployment/src/main/java/org/apache/camel/quarkus/component/http/deployment/HttpProcessor.java
new file mode 100644
index 0000000..7ce3951
--- /dev/null
+++ b/extensions/http/deployment/src/main/java/org/apache/camel/quarkus/component/http/deployment/HttpProcessor.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.http.deployment;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+
+class HttpProcessor {
+    public static final String FEATURE = "camel-http";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    ExtensionSslNativeSupportBuildItem activateSslNativeSupport() {
+        return new ExtensionSslNativeSupportBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
+        reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, "org.apache.camel.component.http.HttpMethods"));
+    }
+}
diff --git a/extensions/support/pom.xml b/extensions/http/pom.xml
similarity index 63%
copy from extensions/support/pom.xml
copy to extensions/http/pom.xml
index f928f37..cb8c931 100644
--- a/extensions/support/pom.xml
+++ b/extensions/http/pom.xml
@@ -17,28 +17,23 @@
     limitations under the License.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-extensions</artifactId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>camel-quarkus-support-extensions</artifactId>
-    <name>Camel Quarkus :: Support</name>
+    <artifactId>camel-quarkus-http-parent</artifactId>
+    <name>Camel Quarkus :: HTTP</name>
     <packaging>pom</packaging>
 
     <modules>
-        <module>ahc</module>
-        <module>aws</module>
-        <module>common</module>
-        <module>commons-logging</module>
-        <module>jetty</module>
-        <module>xstream</module>
-        <module>xml</module>
-        <module>xalan</module>
+        <module>deployment</module>
+        <module>runtime</module>
     </modules>
 </project>
diff --git a/extensions/http/runtime/pom.xml b/extensions/http/runtime/pom.xml
new file mode 100644
index 0000000..abb222d
--- /dev/null
+++ b/extensions/http/runtime/pom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-http-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-http</artifactId>
+    <name>Camel Quarkus :: HTTP :: Runtime</name>
+
+    <properties>
+        <firstVersion>1.0.0</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-http-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-httpclient</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-http</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/http/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/http/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..835c7d1
--- /dev/null
+++ b/extensions/http/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,27 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+---
+name: "Camel Quarkus HTTP"
+description: "Camel Quarkus HTTP"
+metadata:
+  keywords:
+    - "camel"
+    - "http"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+    - "integration"
\ No newline at end of file
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 4877e1a..f033fa2 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -67,6 +67,7 @@
         <module>fhir</module>
         <module>file</module>
         <module>ftp</module>
+        <module>http</module>
         <module>hystrix</module>
         <module>infinispan</module>
         <module>jackson</module>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index be0e241..af8eb35 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -5,7 +5,7 @@ Apache Camel Quarkus supports the following Camel artifacts as Quarkus Extension
 == Camel Components
 
 // components: START
-Number of Camel components: 54 in 46 JAR artifacts (0 deprecated)
+Number of Camel components: 55 in 47 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -77,6 +77,9 @@ Number of Camel components: 54 in 46 JAR artifacts (0 deprecated)
 | link:https://camel.apache.org/components/latest/ftps-component.html[FTPS] (camel-quarkus-ftp) +
 `ftps:host:port/directoryName` | 1.0.0-M1 | The \ftps (FTP secure SSL/TLS) component is used for uploading or downloading files from FTP servers.
 
+| link:https://camel.apache.org/components/latest/http-component.html[HTTP] (camel-quarkus-http) +
+`http:httpUri` | 1.0.0 | For calling out to external HTTP servers using Apache HTTP Client 4.x.
+
 | link:https://camel.apache.org/components/latest/infinispan-component.html[Infinispan] (camel-quarkus-infinispan) +
 `infinispan:cacheName` | 0.2.0 | For reading/writing from/to Infinispan distributed key/value store and data grid.
 
diff --git a/extensions/support/httpclient/deployment/pom.xml b/extensions/support/httpclient/deployment/pom.xml
new file mode 100644
index 0000000..64119fa
--- /dev/null
+++ b/extensions/support/httpclient/deployment/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-support-httpclient-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-support-httpclient-deployment</artifactId>
+    <name>Camel Quarkus :: Support :: Apache HTTP Client :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-httpclient</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientFeature.java b/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientFeature.java
new file mode 100644
index 0000000..82a5193
--- /dev/null
+++ b/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientFeature.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.support.httpclient.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+class HttpClientFeature {
+    public static final String FEATURE = "camel-support-httpclient";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientProcessor.java b/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientProcessor.java
new file mode 100644
index 0000000..6e043af
--- /dev/null
+++ b/extensions/support/httpclient/deployment/src/main/java/org/apache/camel/quarkus/support/httpclient/deployment/HttpClientProcessor.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.support.httpclient.deployment;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
+
+class HttpClientProcessor {
+    private static final DotName HTTP_REQUEST_BASE_NAME = DotName.createSimple(
+            "org.apache.http.client.methods.HttpRequestBase");
+
+    @BuildStep
+    AdditionalApplicationArchiveMarkerBuildItem markers() {
+        return new AdditionalApplicationArchiveMarkerBuildItem("org/apache/http/client");
+    }
+
+    @BuildStep
+    void registerForReflection(
+            CombinedIndexBuildItem index,
+            BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
+
+        IndexView view = index.getIndex();
+
+        for (ClassInfo info : view.getAllKnownSubclasses(HTTP_REQUEST_BASE_NAME)) {
+            reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, info.name().toString()));
+        }
+    }
+}
diff --git a/extensions/support/pom.xml b/extensions/support/httpclient/pom.xml
similarity index 75%
copy from extensions/support/pom.xml
copy to extensions/support/httpclient/pom.xml
index f928f37..4b736ab 100644
--- a/extensions/support/pom.xml
+++ b/extensions/support/httpclient/pom.xml
@@ -21,24 +21,20 @@
 
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-extensions</artifactId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-support-extensions</artifactId>
-    <name>Camel Quarkus :: Support</name>
+    <artifactId>camel-quarkus-support-httpclient-parent</artifactId>
+    <name>Camel Quarkus :: Support :: Apache HTTP Client</name>
     <packaging>pom</packaging>
 
     <modules>
-        <module>ahc</module>
-        <module>aws</module>
-        <module>common</module>
-        <module>commons-logging</module>
-        <module>jetty</module>
-        <module>xstream</module>
-        <module>xml</module>
-        <module>xalan</module>
+        <module>deployment</module>
+        <module>runtime</module>
     </modules>
+
 </project>
diff --git a/extensions/support/httpclient/runtime/pom.xml b/extensions/support/httpclient/runtime/pom.xml
new file mode 100644
index 0000000..2fd9b2f
--- /dev/null
+++ b/extensions/support/httpclient/runtime/pom.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-support-httpclient-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-support-httpclient</artifactId>
+    <name>Camel Quarkus :: Support :: Apache HTTP Client :: Runtime</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/support/httpclient/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/support/httpclient/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..2e66f74
--- /dev/null
+++ b/extensions/support/httpclient/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,29 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+---
+name: "Camel Quarkus Support Apache HTTP Client"
+description: "Camel Quarkus Support Apache HTTP Client"
+metadata:
+  unlisted: true
+  keywords:
+  - "camel"
+  - "http"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
+
diff --git a/extensions/support/pom.xml b/extensions/support/httpcomponents/pom.xml
similarity index 75%
copy from extensions/support/pom.xml
copy to extensions/support/httpcomponents/pom.xml
index f928f37..459d7ab 100644
--- a/extensions/support/pom.xml
+++ b/extensions/support/httpcomponents/pom.xml
@@ -21,24 +21,18 @@
 
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-extensions</artifactId>
+        <artifactId>camel-quarkus-support-extensions</artifactId>
         <version>1.1.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-support-extensions</artifactId>
-    <name>Camel Quarkus :: Support</name>
+    <artifactId>camel-quarkus-support-httpcomponents</artifactId>
+    <name>Camel Quarkus :: Support :: Apache HTTP Components</name>
     <packaging>pom</packaging>
 
     <modules>
-        <module>ahc</module>
-        <module>aws</module>
-        <module>common</module>
-        <module>commons-logging</module>
-        <module>jetty</module>
-        <module>xstream</module>
-        <module>xml</module>
-        <module>xalan</module>
+        <module>httpclient</module>
     </modules>
+
 </project>
diff --git a/extensions/support/pom.xml b/extensions/support/pom.xml
index f928f37..1e7bf7c 100644
--- a/extensions/support/pom.xml
+++ b/extensions/support/pom.xml
@@ -36,6 +36,7 @@
         <module>aws</module>
         <module>common</module>
         <module>commons-logging</module>
+        <module>httpclient</module>
         <module>jetty</module>
         <module>xstream</module>
         <module>xml</module>
diff --git a/integration-tests/http/pom.xml b/integration-tests/http/pom.xml
new file mode 100644
index 0000000..562e214
--- /dev/null
+++ b/integration-tests/http/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-integration-tests</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-http</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: HTTP</name>
+    <description>Integration tests for Camel Quarkus HTTP extension</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- test dependencies - camel-quarkus -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-integration-test-support</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemProperties>
+                                        <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>io.quarkus</groupId>
+                        <artifactId>quarkus-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>native-image</id>
+                                <goals>
+                                    <goal>native-image</goal>
+                                </goals>
+                                <configuration>
+                                    <reportErrorsAtRuntime>false</reportErrorsAtRuntime>
+                                    <cleanupServer>true</cleanupServer>
+                                    <enableHttpsUrlHandler>true</enableHttpsUrlHandler>
+                                    <enableServer>false</enableServer>
+                                    <dumpProxies>false</dumpProxies>
+                                    <graalvmHome>${graalvmHome}</graalvmHome>
+                                    <enableJni>true</enableJni>
+                                    <enableAllSecurityServices>true</enableAllSecurityServices>
+                                    <disableReports>true</disableReports>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpResource.java b/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpResource.java
new file mode 100644
index 0000000..79e1b88
--- /dev/null
+++ b/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpResource.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.http.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.FluentProducerTemplate;
+
+@Path("/test")
+@ApplicationScoped
+public class HttpResource {
+    @Inject
+    FluentProducerTemplate producerTemplate;
+
+    @Path("/get")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String get(@QueryParam("test-port") int port) {
+        return producerTemplate
+                .to("http://localhost:" + port + "/service/get?bridgeEndpoint=true&httpMethod=GET")
+                .request(String.class);
+    }
+
+    @Path("/post")
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String post(@QueryParam("test-port") int port, String message) {
+        return producerTemplate
+                .to("http://localhost:" + port + "/service/toUpper?bridgeEndpoint=true&httpMethod=POST")
+                .withBody(message)
+                .withHeader(Exchange.CONTENT_TYPE, MediaType.TEXT_PLAIN)
+                .request(String.class);
+    }
+}
diff --git a/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpService.java b/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpService.java
new file mode 100644
index 0000000..376ab07
--- /dev/null
+++ b/integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpService.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.http.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+@Path("/service")
+@ApplicationScoped
+public class HttpService {
+    @Path("/get")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String get() {
+        return "get";
+    }
+
+    @Path("/toUpper")
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String toUpper(String message) {
+        return message.toUpperCase();
+    }
+}
diff --git a/integration-tests/http/src/main/resources/application.properties b/integration-tests/http/src/main/resources/application.properties
new file mode 100644
index 0000000..494bcea
--- /dev/null
+++ b/integration-tests/http/src/main/resources/application.properties
@@ -0,0 +1,25 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+#
+# Quarkus
+#
+quarkus.log.file.enable = false
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example
diff --git a/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpIT.java b/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpIT.java
new file mode 100644
index 0000000..32704c9
--- /dev/null
+++ b/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpIT.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.http.it;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+class HttpIT extends HttpTest {
+}
diff --git a/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpTest.java b/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpTest.java
new file mode 100644
index 0000000..16fe43a
--- /dev/null
+++ b/integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpTest.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.http.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.Matchers.is;
+
+@QuarkusTest
+class HttpTest {
+    @Test
+    public void basic() {
+        RestAssured
+                .given()
+                .queryParam("test-port", RestAssured.port)
+                .when()
+                .get("/test/get")
+                .then()
+                .body(is("get"));
+
+        RestAssured
+                .given()
+                .queryParam("test-port", RestAssured.port)
+                .body("message")
+                .when()
+                .post("/test/post")
+                .then()
+                .body(is("MESSAGE"));
+    }
+}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index b370361..f065336 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -170,6 +170,7 @@
         <module>fhir</module>
         <module>file</module>
         <module>ftp</module>
+        <module>http</module>
         <module>hystrix</module>
         <module>infinispan</module>
         <module>jackson</module>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index e7bc851..0e52d4a 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -201,6 +201,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-http-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-hystrix-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -361,6 +366,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-httpclient-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-support-jetty-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 3077f33..2f523a2 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -208,6 +208,21 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-http</artifactId>
+                <version>${camel.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>javax.servlet</groupId>
+                        <artifactId>javax.servlet-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-http-common</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -589,6 +604,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-http</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-http-common</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -754,6 +774,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-httpclient</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-support-jetty</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 01/02: Add IntelliJ IDEA's lsp output dir to gitignore

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 26ad0a50ad0d729d0b70e8652c24a7c24d61d3f4
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Jan 6 00:04:07 2020 +0100

    Add IntelliJ IDEA's lsp output dir to gitignore
---
 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitignore b/.gitignore
index 64eba17..873f81c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,9 @@ bin/
 *.iml
 *.iws
 
+# IDEA lsp plugin
+lsp/
+
 # NetBeans
 nb-configuration.xml