You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/12/20 09:01:29 UTC

[camel] branch master updated (c8f3bf5 -> 8df6ced)

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

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


    from c8f3bf5  Camel-testcontainers-spring-junit5: Use Consul Docker image 1.6.2
     new 9813384  CAMEL-14303: Handle duplicate matchOnUriPrefix on api docs jetty.
     new 2c07349  CAMEL-14303: Separate out httpRestrictMethod in utils.
     new baf825f  CAMEL-14303: Add Undertow match on uri prefix fix.
     new c73c556  CAMEL-14303: Add platform-http match on uri prefix fix.
     new 5dc41c4  CAMEL-14303: Add spark-rest match on uri prefix fix.
     new 8df6ced  CAMEL-14303: Polish. Remove unused imports.

The 6 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:
 .../camel/component/jetty/JettyHttpComponent.java  | 43 ++++---------------
 .../component/netty/http/NettyHttpComponent.java   |  6 +--
 .../platform/http/PlatformHttpComponent.java       | 38 ++++-------------
 .../camel/component/servlet/ServletComponent.java  |  8 ++--
 .../camel/component/sparkrest/SparkComponent.java  | 18 +++-----
 .../component/undertow/UndertowComponent.java      | 48 ++++++----------------
 .../apache/camel/support/RestComponentHelper.java  | 41 ++++++++++--------
 7 files changed, 63 insertions(+), 139 deletions(-)


[camel] 05/06: CAMEL-14303: Add spark-rest match on uri prefix fix.

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

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

commit 5dc41c43d71ef24cbeea6740edbf017e9537715d
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 21:29:44 2019 -0600

    CAMEL-14303: Add spark-rest match on uri prefix fix.
---
 .../camel/component/sparkrest/SparkComponent.java       | 17 +++++------------
 .../org/apache/camel/support/RestComponentHelper.java   | 16 ++++++++++++++++
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
index be537a4..868f484 100644
--- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
+++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
@@ -335,20 +336,12 @@ public class SparkComponent extends DefaultComponent implements RestConsumerFact
                 path = contextPath + "/" + path;
             }
         }
-
-        String url;
+        
         if (api) {
-            url = "spark-rest:%s:%s?matchOnUriPrefix=true";
-        } else {
-            url = "spark-rest:%s:%s";
-        }
-
-        url = String.format(url, verb, path);
+            map.put("matchOnUriPrefix", "true");
+        } 
 
-        String query = URISupport.createQueryString(map);
-        if (!query.isEmpty()) {
-            url = url + "?" + query;
-        }
+        String url = RestComponentHelper.createRestConsumerUrl("spark-rest", verb, path, map);
 
         // get the endpoint
         SparkEndpoint endpoint = camelContext.getEndpoint(url, SparkEndpoint.class);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
index aa20d9a..8262b8c 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
@@ -95,6 +95,22 @@ public final class RestComponentHelper {
      * Creates the Rest consumers url based on component and url options.
      * 
      * @param componentName the name of the rest component
+     * @param verb the HTTP verb
+     * @param path the HTTP path of the route
+     * @param queryMap the endpoint query options
+     * @return a string of the component route url
+     * @throws URISyntaxException - is thrown if uri has invalid syntax.
+     */
+    public static String createRestConsumerUrl(String componentName, String verb, String path, Map<String, Object> queryMap) throws URISyntaxException {
+        String query = URISupport.createQueryString(queryMap);
+        return applyFormatAndQuery("%s:%s:%s", query, componentName, verb, path);
+    }
+    
+    /**
+     * 
+     * Creates the Rest consumers url based on component and url options.
+     * 
+     * @param componentName the name of the rest component
      * @param path the HTTP path of the route
      * @param queryMap the endpoint query options
      * @return a string of the component route url


[camel] 01/06: CAMEL-14303: Handle duplicate matchOnUriPrefix on api docs jetty.

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

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

commit 98133846edf4a8eab33333d859b8e10b6e094341
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 08:46:19 2019 -0600

    CAMEL-14303: Handle duplicate matchOnUriPrefix on api docs jetty.
---
 .../camel/component/jetty/JettyHttpComponent.java  | 39 ++++------------------
 1 file changed, 6 insertions(+), 33 deletions(-)

diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 90faaba..e586571 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -58,6 +58,7 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestApiConsumerFactory;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
+import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.FileUtil;
@@ -1071,50 +1072,22 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
 
         // if no explicit hostname set then resolve the hostname
         if (ObjectHelper.isEmpty(host)) {
-            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
-                host = "0.0.0.0";
-            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
-                host = HostUtils.getLocalHostName();
-            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
-                host = HostUtils.getLocalIp();
-            }
+            host = RestComponentHelper.resolveRestHostName(host, config);
         }
 
-        Map<String, Object> map = new HashMap<>();
-        // build query string, and append any endpoint configuration properties
-        if (config.getComponent() == null || config.getComponent().equals("jetty")) {
-            // setup endpoint options
-            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
-                map.putAll(config.getEndpointProperties());
-            }
-        }
+        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("jetty", config);
 
         boolean cors = config.isEnableCORS();
         if (cors) {
             // allow HTTP Options as we want to handle CORS in rest-dsl
             map.put("optionsEnabled", "true");
         }
-
-        String query = URISupport.createQueryString(map);
-
-        String url;
+        
         if (api) {
-            url = "jetty:%s://%s:%s/%s?matchOnUriPrefix=true&httpMethodRestrict=%s";
-        } else {
-            url = "jetty:%s://%s:%s/%s?httpMethodRestrict=%s";
+            map.put("matchOnUriPrefix", "true");
         }
 
-        // must use upper case for restrict
-        String restrict = verb.toUpperCase(Locale.US);
-        if (cors) {
-            restrict += ",OPTIONS";
-        }
-        // get the endpoint
-        url = String.format(url, scheme, host, port, path, restrict);
-
-        if (!query.isEmpty()) {
-            url = url + "&" + query;
-        }
+        String url = RestComponentHelper.createRestConsumerUrl("jetty", verb, scheme, host, port, path, cors, map);
 
         JettyHttpEndpoint endpoint = camelContext.getEndpoint(url, JettyHttpEndpoint.class);
         setProperties(camelContext, endpoint, parameters);


[camel] 03/06: CAMEL-14303: Add Undertow match on uri prefix fix.

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

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

commit baf825fc24698a2b556fce2d25ebd6d1215ece17
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 21:13:59 2019 -0600

    CAMEL-14303: Add Undertow match on uri prefix fix.
---
 .../component/undertow/UndertowComponent.java      | 47 ++++++----------------
 1 file changed, 12 insertions(+), 35 deletions(-)

diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 3e7a4cb..33ab374 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -42,6 +42,7 @@ import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.spi.RestProducerFactory;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.support.RestProducerFactoryHelper;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.support.service.ServiceHelper;
@@ -191,35 +192,19 @@ public class UndertowComponent extends DefaultComponent implements RestConsumerF
 
         // if no explicit hostname set then resolve the hostname
         if (ObjectHelper.isEmpty(host)) {
-            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
-                host = "0.0.0.0";
-            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
-                host = HostUtils.getLocalHostName();
-            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
-                host = HostUtils.getLocalIp();
-            }
+            host = RestComponentHelper.resolveRestHostName(host, config);
         }
 
-        Map<String, Object> map = new HashMap<>();
+        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         // build query string, and append any endpoint configuration properties
-        if (config.getComponent() == null || config.getComponent().equals(getComponentName())) {
-            // setup endpoint options
-            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
-                map.putAll(config.getEndpointProperties());
-            }
-        }
 
-        boolean explicitOptions = true;
+        
         // must use upper case for restrict
         String restrict = verb.toUpperCase(Locale.US);
-        // allow OPTIONS in rest-dsl to allow clients to call the API and have responses with ALLOW headers
-        if (!restrict.contains("OPTIONS")) {
-            restrict += ",OPTIONS";
-            // this is not an explicit OPTIONS path in the rest-dsl
-            explicitOptions = false;
-        }
-
+        
+        boolean explicitOptions = restrict.contains("OPTIONS");
         boolean cors = config.isEnableCORS();
+
         if (cors) {
             // allow HTTP Options as we want to handle CORS in rest-dsl
             map.put("optionsEnabled", "true");
@@ -227,22 +212,14 @@ public class UndertowComponent extends DefaultComponent implements RestConsumerF
             // the rest-dsl is using OPTIONS
             map.put("optionsEnabled", "true");
         }
-
-        String query = URISupport.createQueryString(map);
-
-        String url;
+        
         if (api) {
-            url = getComponentName() + ":%s://%s:%s/%s?matchOnUriPrefix=true&httpMethodRestrict=%s";
-        } else {
-            url = getComponentName() + ":%s://%s:%s/%s?matchOnUriPrefix=false&httpMethodRestrict=%s";
+            map.put("matchOnUriPrefix", "true");
         }
+        
+        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);
 
-        // get the endpoint
-        url = String.format(url, scheme, host, port, path, restrict);
-
-        if (!query.isEmpty()) {
-            url = url + "&" + query;
-        }
+        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);
 
         UndertowEndpoint endpoint = camelContext.getEndpoint(url, UndertowEndpoint.class);
         setProperties(camelContext, endpoint, parameters);


[camel] 02/06: CAMEL-14303: Separate out httpRestrictMethod in utils.

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

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

commit 2c07349cae45ba8fcffe4c6515872ea1d2b63a19
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 21:13:59 2019 -0600

    CAMEL-14303: Separate out httpRestrictMethod in utils.
---
 .../camel/component/jetty/JettyHttpComponent.java  |  4 +++-
 .../component/netty/http/NettyHttpComponent.java   |  4 +++-
 .../camel/component/servlet/ServletComponent.java  |  6 ++++--
 .../apache/camel/support/RestComponentHelper.java  | 25 ++++++----------------
 4 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index e586571..3540dd0 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -1086,8 +1086,10 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
         if (api) {
             map.put("matchOnUriPrefix", "true");
         }
+        
+        RestComponentHelper.addHttpRestrictParam(map, verb, cors);
 
-        String url = RestComponentHelper.createRestConsumerUrl("jetty", verb, scheme, host, port, path, cors, map);
+        String url = RestComponentHelper.createRestConsumerUrl("jetty", scheme, host, port, path, map);
 
         JettyHttpEndpoint endpoint = camelContext.getEndpoint(url, JettyHttpEndpoint.class);
         setProperties(camelContext, endpoint, parameters);
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
index 91516f3..a53a21e 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
@@ -385,8 +385,10 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
         if (api) {
             map.put("matchOnUriPrefix", "true");
         }
+        
+        RestComponentHelper.addHttpRestrictParam(map, verb, cors);
 
-        String url = RestComponentHelper.createRestConsumerUrl("netty-http", verb, scheme, host, port, path, cors, map);
+        String url = RestComponentHelper.createRestConsumerUrl("netty-http", scheme, host, port, path, map);
 
         NettyHttpEndpoint endpoint = camelContext.getEndpoint(url, NettyHttpEndpoint.class);
         setProperties(camelContext, endpoint, parameters);
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
index de4b955..7e25c79 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
@@ -290,9 +290,11 @@ public class ServletComponent extends HttpCommonComponent implements RestConsume
         
         if (api) {
             map.put("matchOnUriPrefix", "true");
-        } 
+        }
+        
+        RestComponentHelper.addHttpRestrictParam(map, verb, cors);
 
-        String url = RestComponentHelper.createRestConsumerUrl("servlet", verb, path, cors, map);  
+        String url = RestComponentHelper.createRestConsumerUrl("servlet", path, map);  
 
         ServletEndpoint endpoint = camelContext.getEndpoint(url, ServletEndpoint.class);
         setProperties(camelContext, endpoint, parameters);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
index 39c0632..aa20d9a 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
@@ -38,12 +38,12 @@ public final class RestComponentHelper {
      * 
      * @param queryMap the map of Endpoint options to apply the HTTP restrict settings to
      * @param verb the HTTP verb for the route
-     * @param cors is cors enabled/disabled
+     * @param addOptions should OPTIONS verb be added.
      * @return the map of Endpoint Properties with HTTP Restrict Options set
      */
-    public static Map<String, Object> addHttpRestrictParam(Map<String, Object> queryMap, String verb, Boolean cors) {
+    public static Map<String, Object> addHttpRestrictParam(Map<String, Object> queryMap, String verb, boolean addOptions) {
         String restrict = verb.toUpperCase(Locale.US);
-        if (cors) {
+        if (addOptions) {
             restrict += ",OPTIONS";
         }
         queryMap.put("httpMethodRestrict", restrict);
@@ -95,15 +95,13 @@ public final class RestComponentHelper {
      * Creates the Rest consumers url based on component and url options.
      * 
      * @param componentName the name of the rest component
-     * @param verb the HTTP verb for the route
      * @param path the HTTP path of the route
-     * @param cors is cors enabled/disabled
      * @param queryMap the endpoint query options
      * @return a string of the component route url
      * @throws URISyntaxException - is thrown if uri has invalid syntax.
      */
-    public static String createRestConsumerUrl(String componentName, String verb, String path, Boolean cors, Map<String, Object> queryMap) throws URISyntaxException {
-        String query = generateComponentQueryString(verb, cors, queryMap);
+    public static String createRestConsumerUrl(String componentName, String path, Map<String, Object> queryMap) throws URISyntaxException {
+        String query = URISupport.createQueryString(queryMap);
         return applyFormatAndQuery("%s:/%s", query, componentName, path);
     }
     
@@ -112,29 +110,20 @@ public final class RestComponentHelper {
      * Creates the Rest consumers url based on component and url options.
      * 
      * @param componentName the name of the rest component
-     * @param verb the HTTP verb for the route
      * @param scheme the scheme of the HTTP route http/https
      * @param host the host of the HTTP route
      * @param port the port the route will be exposed through
      * @param path the HTTP path of the route
-     * @param cors is cors enabled/disabled
      * @param queryMap the endpoint query options
      * @return a string of the component route url
      * @throws URISyntaxException - is thrown if uri has invalid syntax.
      */
-    public static String createRestConsumerUrl(String componentName, String verb, String scheme, String host, int port, String path, Boolean cors, Map<String, Object> queryMap) throws URISyntaxException {
+    public static String createRestConsumerUrl(String componentName, String scheme, String host, int port, String path, Map<String, Object> queryMap) throws URISyntaxException {
         
-        String query = generateComponentQueryString(verb, cors, queryMap);
+        String query = URISupport.createQueryString(queryMap);
         
         return applyFormatAndQuery("%s:%s://%s:%s/%s", query, componentName, scheme, host, port, path);
     }
-
-    private static String generateComponentQueryString(String verb, Boolean cors, Map<String, Object> queryMap)
-            throws URISyntaxException {
-        addHttpRestrictParam(queryMap, verb, cors);
-        
-        return URISupport.createQueryString(queryMap);
-    }
     
     private static String applyFormatAndQuery(String format, String query, Object... formatOptions) {
         // get the endpoint


[camel] 06/06: CAMEL-14303: Polish. Remove unused imports.

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

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

commit 8df6ced9fcd45dbe2e60e9e9ee4c611da8b7bc5a
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 23:33:58 2019 -0600

    CAMEL-14303: Polish. Remove unused imports.
---
 .../main/java/org/apache/camel/component/jetty/JettyHttpComponent.java | 2 --
 .../java/org/apache/camel/component/netty/http/NettyHttpComponent.java | 2 --
 .../apache/camel/component/platform/http/PlatformHttpComponent.java    | 3 ---
 .../main/java/org/apache/camel/component/servlet/ServletComponent.java | 2 --
 .../main/java/org/apache/camel/component/sparkrest/SparkComponent.java | 1 -
 .../java/org/apache/camel/component/undertow/UndertowComponent.java    | 1 -
 6 files changed, 11 deletions(-)

diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 3540dd0..2958953 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 
 import javax.management.MBeanServer;
@@ -62,7 +61,6 @@ import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.PropertiesHelper;
 import org.apache.camel.util.StringHelper;
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
index a53a21e..a29a330 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.netty.http;
 
 import java.net.URI;
 import java.util.HashMap;
-import java.util.Locale;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
@@ -46,7 +45,6 @@ import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.support.RestProducerFactoryHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.PropertiesHelper;
 import org.apache.camel.util.URISupport;
diff --git a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
index 92a2fa6..d860d5a 100644
--- a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
+++ b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.platform.http;
 
-import java.util.HashMap;
-import java.util.Locale;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
@@ -33,7 +31,6 @@ import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.URISupport;
 
 /**
  * Exposes HTTP endpoints leveraging the given platform's (SpringBoot, WildFly, Quarkus, ...) HTTP server.
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
index 7e25c79..f75619b 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.servlet;
 
 import java.net.URI;
-import java.util.HashMap;
-import java.util.Locale;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
index 868f484..386e497 100644
--- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
+++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
@@ -36,7 +36,6 @@ import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
-import org.apache.camel.util.URISupport;
 import spark.Service;
 
 @Component("spark-rest")
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 33ab374..5291f58 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -47,7 +47,6 @@ import org.apache.camel.support.RestProducerFactoryHelper;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.PropertiesHelper;
 import org.apache.camel.util.URISupport;


[camel] 04/06: CAMEL-14303: Add platform-http match on uri prefix fix.

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

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

commit c73c556e3bbbd6c5a006645710416f1f12a14426
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Thu Dec 19 21:23:22 2019 -0600

    CAMEL-14303: Add platform-http match on uri prefix fix.
---
 .../platform/http/PlatformHttpComponent.java       | 35 +++++-----------------
 1 file changed, 8 insertions(+), 27 deletions(-)

diff --git a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
index 86afc1f..92a2fa6 100644
--- a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
+++ b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.RestComponentHelper;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.URISupport;
 
@@ -108,43 +109,23 @@ public class PlatformHttpComponent extends DefaultComponent implements RestConsu
             config = camelContext.getRestConfiguration(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME, true);
         }
 
-        Map<String, Object> map = new HashMap<>();
-        // build query string, and append any endpoint configuration properties
-        if (config.getComponent() == null || config.getComponent().equals(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME)) {
-            // setup endpoint options
-            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
-                map.putAll(config.getEndpointProperties());
-            }
-        }
+        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME, config);
 
         boolean cors = config.isEnableCORS();
         if (cors) {
             // allow HTTP Options as we want to handle CORS in rest-dsl
             map.put("optionsEnabled", "true");
         }
-
-        // do not append with context-path as the servlet path should be without context-path
-
-        String query = URISupport.createQueryString(map);
-
-        String url;
+        
         if (api) {
-            url = "platform-http:/%s?matchOnUriPrefix=true&httpMethodRestrict=%s";
-        } else {
-            url = "platform-http:/%s?httpMethodRestrict=%s";
+            map.put("matchOnUriPrefix", "true");
         }
+        
+        RestComponentHelper.addHttpRestrictParam(map, verb, cors);
 
-        // must use upper case for restrict
-        String restrict = verb.toUpperCase(Locale.US);
-        if (cors) {
-            restrict += ",OPTIONS";
-        }
-        // get the endpoint
-        url = String.format(url, path, restrict);
+        // do not append with context-path as the servlet path should be without context-path
 
-        if (!query.isEmpty()) {
-            url = url + "&" + query;
-        }
+        String url = RestComponentHelper.createRestConsumerUrl("platform-http", path, map);
 
         PlatformHttpEndpoint endpoint = camelContext.getEndpoint(url, PlatformHttpEndpoint.class);
         setProperties(camelContext, endpoint, parameters);