You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dm...@apache.org on 2020/03/20 08:06:19 UTC

[camel] branch master updated: CAMEL-14746: Additional specificationScheme validation Closing #3654

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3d35740  CAMEL-14746: Additional specificationScheme validation Closing #3654
3d35740 is described below

commit 3d3574001dfce055c1695ea447ef0fd52b4ded1e
Author: Dmitry Volodin <dm...@gmail.com>
AuthorDate: Fri Mar 20 09:39:16 2020 +0300

    CAMEL-14746: Additional specificationScheme validation
    Closing #3654
---
 .../camel/component/rest/swagger/RestSwaggerEndpoint.java    | 12 ++++++------
 .../component/rest/swagger/RestSwaggerEndpointTest.java      |  2 ++
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
index aa88ca8..8883adb 100644
--- a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
+++ b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
@@ -434,7 +434,7 @@ public final class RestSwaggerEndpoint extends DefaultEndpoint {
         }
 
         final String specificationScheme = specificationUri.getScheme();
-        if (specificationUri.isAbsolute() && specificationScheme.toLowerCase().startsWith("http")) {
+        if (specificationUri.isAbsolute() && specificationScheme.toLowerCase().startsWith(Scheme.HTTP.toValue())) {
             try {
                 return new URI(specificationUri.getScheme(), specificationUri.getUserInfo(), specificationUri.getHost(),
                     specificationUri.getPort(), null, null, null).toString();
@@ -583,8 +583,8 @@ public final class RestSwaggerEndpoint extends DefaultEndpoint {
         }
 
         final StringBuilder answer = new StringBuilder(scheme).append("://").append(host);
-        if (port > 0 && !("http".equalsIgnoreCase(scheme) && port == 80)
-            && !("https".equalsIgnoreCase(scheme) && port == 443)) {
+        if (port > 0 && !(Scheme.HTTP.toValue().equalsIgnoreCase(scheme) && port == 80)
+            && !(Scheme.HTTPS.toValue().equalsIgnoreCase(scheme) && port == 443)) {
             answer.append(':').append(port);
         }
 
@@ -653,15 +653,15 @@ public final class RestSwaggerEndpoint extends DefaultEndpoint {
     static String pickBestScheme(final String specificationScheme, final List<Scheme> schemes) {
         if (schemes != null && !schemes.isEmpty()) {
             if (schemes.contains(Scheme.HTTPS)) {
-                return "https";
+                return Scheme.HTTPS.toValue();
             }
 
             if (schemes.contains(Scheme.HTTP)) {
-                return "http";
+                return Scheme.HTTP.toValue();
             }
         }
 
-        if (specificationScheme != null) {
+        if (specificationScheme != null && (Scheme.HTTP.toValue().contains(specificationScheme) || Scheme.HTTPS.toValue().contains(specificationScheme))) {
             return specificationScheme;
         }
 
diff --git a/components/camel-rest-swagger/src/test/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpointTest.java b/components/camel-rest-swagger/src/test/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpointTest.java
index fb82e4f..0a6d289 100644
--- a/components/camel-rest-swagger/src/test/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpointTest.java
+++ b/components/camel-rest-swagger/src/test/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpointTest.java
@@ -347,6 +347,8 @@ public class RestSwaggerEndpointTest {
         assertThat(RestSwaggerEndpoint.pickBestScheme(null, Collections.emptyList())).isNull();
 
         assertThat(RestSwaggerEndpoint.pickBestScheme(null, null)).isNull();
+
+        assertThat(RestSwaggerEndpoint.pickBestScheme("file", null)).isNull();
     }
 
     @Test(expected = IllegalArgumentException.class)