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

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


The following commit(s) were added to refs/heads/main by this push:
     new f36baeb5779 CAMEL-20828: camel-platform-http - Allow to known if 
platform engine is in use or not without triggering creation
f36baeb5779 is described below

commit f36baeb577979c54f4d6008f83bcd3fefae24ab2
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jun 4 11:16:05 2024 +0200

    CAMEL-20828: camel-platform-http - Allow to known if platform engine is in 
use or not without triggering creation
---
 components/camel-openapi-java/pom.xml              |  4 ----
 .../apache/camel/openapi/RestOpenApiReader.java    | 24 +++++++++----------
 .../org/apache/camel/openapi/ComplexTypesTest.java |  4 ----
 .../RestOpenApiReaderApiDocsOverrideTest.java      |  4 ----
 .../openapi/RestOpenApiReaderApiDocsTest.java      |  4 ----
 .../openapi/RestOpenApiReaderContextPathTest.java  |  4 ----
 .../openapi/RestOpenApiReaderDayOfWeekTest.java    |  4 ----
 .../openapi/RestOpenApiReaderDisabledTest.java     |  4 ----
 ...RestOpenApiReaderEnableVendorExtensionTest.java |  4 ----
 .../RestOpenApiReaderFileResponseModelTest.java    |  4 ----
 .../RestOpenApiReaderModelApiSecurityTest.java     |  4 ----
 .../RestOpenApiReaderModelBookOrderTest.java       |  4 ----
 .../camel/openapi/RestOpenApiReaderModelTest.java  |  4 ----
 .../RestOpenApiReaderPropertyPlaceholderTest.java  |  4 ----
 .../camel/openapi/RestOpenApiReaderTest.java       |  4 ----
 .../apache/camel/openapi/RestOpenApiV3XOfTest.java |  4 ----
 .../camel/openapi/producer/RestOpenApiGetTest.java |  5 ----
 .../producer/RestOpenApiGetUriParamTest.java       |  5 ----
 ...SpringRestOpenApiReaderModelApiSecurityTest.xml |  3 ---
 .../http/vertx/VertxPlatformHttpEngine.java        |  8 +++++++
 .../http/vertx/VertxPlatformHttpEngineTest.java    |  8 +++++++
 .../platform/http/spi/PlatformHttpEngine.java      | 18 ++++++++++----
 .../org/apache/camel/spi/EmbeddedHttpService.java  | 28 +++++++++++-----------
 23 files changed, 55 insertions(+), 104 deletions(-)

diff --git a/components/camel-openapi-java/pom.xml 
b/components/camel-openapi-java/pom.xml
index dc34c7720c9..98fb640c7e5 100644
--- a/components/camel-openapi-java/pom.xml
+++ b/components/camel-openapi-java/pom.xml
@@ -45,10 +45,6 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-core-engine</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-platform-http</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-xml-io</artifactId>
diff --git 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
index 05948b8ed4a..dde1a809d59 100644
--- 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
+++ 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
@@ -67,7 +67,6 @@ import io.swagger.v3.oas.models.tags.Tag;
 import io.swagger.v3.parser.OpenAPIV3Parser;
 import io.swagger.v3.parser.core.models.SwaggerParseResult;
 import org.apache.camel.CamelContext;
-import org.apache.camel.component.platform.http.PlatformHttpComponent;
 import org.apache.camel.model.rest.ApiKeyDefinition;
 import org.apache.camel.model.rest.BasicAuthDefinition;
 import org.apache.camel.model.rest.BearerTokenDefinition;
@@ -79,13 +78,13 @@ import org.apache.camel.model.rest.ParamDefinition;
 import org.apache.camel.model.rest.ResponseHeaderDefinition;
 import org.apache.camel.model.rest.ResponseMessageDefinition;
 import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.rest.RestHostNameResolver;
 import org.apache.camel.model.rest.RestPropertyDefinition;
 import org.apache.camel.model.rest.RestSecuritiesDefinition;
 import org.apache.camel.model.rest.RestSecurityDefinition;
 import org.apache.camel.model.rest.SecurityDefinition;
 import org.apache.camel.model.rest.VerbDefinition;
 import org.apache.camel.spi.ClassResolver;
+import org.apache.camel.spi.EmbeddedHttpService;
 import org.apache.camel.spi.NodeIdFactory;
 import org.apache.camel.spi.Resource;
 import org.apache.camel.spi.RestConfiguration;
@@ -165,19 +164,18 @@ public class RestOpenApiReader {
                     if (restConfig.getHostNameResolver() != 
RestConfiguration.RestHostNameResolver.none) {
                         host = 
camelContext.getRestConfiguration().getApiHost();
                         if (host == null || host.isEmpty()) {
-                            String scheme = "http://";;
+                            String scheme = "http";
+                            int port = 0;
                             host = 
RestComponentHelper.resolveRestHostName(host, restConfig);
-                            PlatformHttpComponent http = 
(PlatformHttpComponent) camelContext.hasComponent("platform-http");
-                            if (http != null) {
-                                int port = http.getEngine().getServerPort();
-                                if (port > 0) {
-                                    host = host + ":" + port;
-                                    if (port == 443) {
-                                        scheme = "https://";;
-                                    }
-                                }
+                            EmbeddedHttpService server = 
CamelContextHelper.findSingleByType(camelContext, EmbeddedHttpService.class);
+                            if (server != null) {
+                                scheme = server.getScheme();
+                                port = server.getServerPort();
+                            }
+                            host = scheme + "://" + host;
+                            if (port > 0 && port != 80) {
+                                host = host + ":" + port;
                             }
-                            host = scheme + host;
                         }
                     }
                     if (host != null) {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
index 482a865d056..b39ebeaa8d5 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
@@ -27,7 +27,6 @@ import java.util.stream.Stream;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestBindingMode;
 import org.apache.camel.model.rest.RestDefinition;
@@ -53,9 +52,6 @@ public class ComplexTypesTest extends CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private final DummyRestConsumerFactory factory = new 
DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsOverrideTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsOverrideTest.java
index e8e092f098b..d76c698b5d9 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsOverrideTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsOverrideTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderApiDocsOverrideTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsTest.java
index 0bec9b5b3f2..72a8396a272 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderApiDocsTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderApiDocsTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderContextPathTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderContextPathTest.java
index b3d4da35cdb..dcf09a8d8d0 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderContextPathTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderContextPathTest.java
@@ -20,7 +20,6 @@ import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -40,9 +39,6 @@ public class RestOpenApiReaderContextPathTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDayOfWeekTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDayOfWeekTest.java
index f6301a06bae..d098681626d 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDayOfWeekTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDayOfWeekTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -38,9 +37,6 @@ public class RestOpenApiReaderDayOfWeekTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDisabledTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDisabledTest.java
index 5c62cb2a11e..b02adf6d8da 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDisabledTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderDisabledTest.java
@@ -20,7 +20,6 @@ import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -40,9 +39,6 @@ public class RestOpenApiReaderDisabledTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
index 673bf2b8db7..29ef371069b 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderEnableVendorExtensionTest 
extends CamelTestSupport
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @BindToRegistry("userService")
     private Object dummy = new Object();
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderFileResponseModelTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderFileResponseModelTest.java
index c3337a8d263..fb868d90953 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderFileResponseModelTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderFileResponseModelTest.java
@@ -20,7 +20,6 @@ import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderFileResponseModelTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelApiSecurityTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelApiSecurityTest.java
index 720d01a29e4..49ab693a256 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelApiSecurityTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelApiSecurityTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderModelApiSecurityTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @BindToRegistry("userService")
     private Object dummy = new Object();
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelBookOrderTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelBookOrderTest.java
index 62a70cffb46..6bda7819b24 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelBookOrderTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelBookOrderTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -38,9 +37,6 @@ public class RestOpenApiReaderModelBookOrderTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @BindToRegistry("bookService")
     private Object dummy = new Object();
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelTest.java
index 236f69e1656..8549856aaf0 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderModelTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderModelTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @BindToRegistry("userService")
     private Object dummy = new Object();
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderPropertyPlaceholderTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderPropertyPlaceholderTest.java
index 8811eef5d8f..a737eeedfbf 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderPropertyPlaceholderTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderPropertyPlaceholderTest.java
@@ -22,7 +22,6 @@ import java.util.Properties;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestParamType;
@@ -44,9 +43,6 @@ public class RestOpenApiReaderPropertyPlaceholderTest extends 
CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestProducerFactory factory = new DummyRestProducerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @BindToRegistry("dummy-rest-consumer")
     private DummyRestConsumerFactory consumerFactory = new 
DummyRestConsumerFactory();
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
index 4024a3c35ba..6416ab51f45 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
@@ -20,7 +20,6 @@ import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.info.Info;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestParamType;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -39,9 +38,6 @@ public class RestOpenApiReaderTest extends CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiV3XOfTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiV3XOfTest.java
index fe08c3a9277..6a3950fce76 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiV3XOfTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiV3XOfTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.openapi;
 import io.swagger.v3.oas.models.OpenAPI;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestBindingMode;
 import org.apache.camel.openapi.model.AllOfFormWrapper;
@@ -41,9 +40,6 @@ public class RestOpenApiV3XOfTest extends CamelTestSupport {
     @BindToRegistry("dummy-rest")
     private DummyRestConsumerFactory factory = new DummyRestConsumerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetTest.java
index 47ceb68342c..5dc62e37a75 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetTest.java
@@ -20,8 +20,6 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
-import org.apache.camel.openapi.DummyHttpEngine;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
@@ -30,9 +28,6 @@ public class RestOpenApiGetTest extends CamelTestSupport {
     @BindToRegistry("dummy")
     private DummyRestProducerFactory factory = new DummyRestProducerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Test
     public void testOpenApiGet() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Hello Donald 
Duck");
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetUriParamTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetUriParamTest.java
index 4b39ee1443c..4decb5f418c 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetUriParamTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/producer/RestOpenApiGetUriParamTest.java
@@ -20,8 +20,6 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
-import org.apache.camel.openapi.DummyHttpEngine;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
@@ -30,9 +28,6 @@ public class RestOpenApiGetUriParamTest extends 
CamelTestSupport {
     @BindToRegistry("dummy")
     private DummyRestProducerFactory factory = new DummyRestProducerFactory();
 
-    @BindToRegistry("platform-http-engine")
-    private PlatformHttpEngine engine = new DummyHttpEngine();
-
     @Test
     public void testOpenApiGet() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye 
Donald+Duck");
diff --git 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
index 19f99760d7b..caf6c946165 100644
--- 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
+++ 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
@@ -27,9 +27,6 @@
   <!-- use a dummy rest consumer factory for the rest engine -->
   <bean id="dummy-rest" 
class="org.apache.camel.openapi.DummyRestConsumerFactory"/>
 
-  <!-- use dummy http engine -->
-  <bean id="platform-http-engine" 
class="org.apache.camel.openapi.DummyHttpEngine"/>
-
   <bean id="userService" class="java.lang.Object"/>
 
   <camelContext xmlns="http://camel.apache.org/schema/spring";>
diff --git 
a/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngine.java
 
b/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngine.java
index aeb30eb0763..3ed88761ac9 100644
--- 
a/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngine.java
+++ 
b/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngine.java
@@ -67,6 +67,14 @@ public class VertxPlatformHttpEngine extends ServiceSupport 
implements PlatformH
         }
     }
 
+    @Override
+    protected void doInit() throws Exception {
+        super.doInit();
+
+        // register this so we can find it
+        
camelContext.getRegistry().bind(PlatformHttpConstants.PLATFORM_HTTP_ENGINE_NAME,
 PlatformHttpEngine.class, this);
+    }
+
     @Override
     protected void doStart() throws Exception {
         // no-op
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
index 6fe9eb3a522..630a24855f6 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
@@ -48,9 +48,11 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.platform.http.HttpEndpointModel;
 import org.apache.camel.component.platform.http.PlatformHttpComponent;
 import org.apache.camel.component.platform.http.spi.Method;
+import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.model.rest.RestBindingMode;
 import org.apache.camel.model.rest.RestParamType;
+import org.apache.camel.spi.EmbeddedHttpService;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.support.jsse.KeyManagersParameters;
 import org.apache.camel.support.jsse.KeyStoreParameters;
@@ -170,6 +172,12 @@ public class VertxPlatformHttpEngineTest {
             assertEquals("/get", it.next().getUri());
             assertEquals("/post", it.next().getUri());
 
+            // should find engine in registry
+            
assertNotNull(context.getRegistry().findSingleByType(PlatformHttpEngine.class));
+            EmbeddedHttpService server = 
context.getRegistry().findSingleByType(EmbeddedHttpService.class);
+            assertNotNull(server);
+            assertEquals("http", server.getScheme());
+            assertEquals(RestAssured.port, server.getServerPort());
         } finally {
             context.stop();
         }
diff --git 
a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/spi/PlatformHttpEngine.java
 
b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/spi/PlatformHttpEngine.java
index 4cf549289d4..2d0bd4e8937 100644
--- 
a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/spi/PlatformHttpEngine.java
+++ 
b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/spi/PlatformHttpEngine.java
@@ -18,11 +18,12 @@ package org.apache.camel.component.platform.http.spi;
 
 import org.apache.camel.Processor;
 import org.apache.camel.component.platform.http.PlatformHttpEndpoint;
+import org.apache.camel.spi.EmbeddedHttpService;
 
 /**
  * An abstraction of an HTTP Server engine on which HTTP endpoints can be 
deployed.
  */
-public interface PlatformHttpEngine {
+public interface PlatformHttpEngine extends EmbeddedHttpService {
 
     /**
      * Creates a new {@link PlatformHttpConsumer} for the given {@link 
PlatformHttpEndpoint}.
@@ -33,11 +34,20 @@ public interface PlatformHttpEngine {
      */
     PlatformHttpConsumer createConsumer(PlatformHttpEndpoint 
platformHttpEndpoint, Processor processor);
 
-    /**
-     * The port number the HTTP server is using, if possible to determine.
-     */
+    @Override
     default int getServerPort() {
         return 0;
     }
 
+    @Override
+    default String getScheme() {
+        String scheme = "http";
+        int port = getServerPort();
+        if (port == 443 || port == 8443) {
+            // it's common to use 8443 for SSL on spring-boot
+            scheme = "https";
+        }
+        return scheme;
+    }
+
 }
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/DummyHttpEngine.java
 b/core/camel-api/src/main/java/org/apache/camel/spi/EmbeddedHttpService.java
similarity index 57%
rename from 
components/camel-openapi-java/src/test/java/org/apache/camel/openapi/DummyHttpEngine.java
rename to 
core/camel-api/src/main/java/org/apache/camel/spi/EmbeddedHttpService.java
index cc1d0a4b46c..c3e432b3f82 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/DummyHttpEngine.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/EmbeddedHttpService.java
@@ -14,22 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.openapi;
+package org.apache.camel.spi;
 
-import org.apache.camel.Processor;
-import org.apache.camel.component.platform.http.PlatformHttpEndpoint;
-import org.apache.camel.component.platform.http.spi.PlatformHttpConsumer;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
+/**
+ * Information about embedded HTTP server such as when using the 
camel-platform-http component,
+ * that integrates with the Spring Boot or Quarkus HTTP server.
+ */
+public interface EmbeddedHttpService {
 
-public class DummyHttpEngine implements PlatformHttpEngine {
+    /**
+     * HTTP or HTTPS
+     */
+    String getScheme();
 
-    @Override
-    public PlatformHttpConsumer createConsumer(PlatformHttpEndpoint 
platformHttpEndpoint, Processor processor) {
-        return null; // just return null
-    }
+    /**
+     * Port number such as 8080, 443, or something else.
+     */
+    int getServerPort();
 
-    @Override
-    public int getServerPort() {
-        return 1234; // not in use
-    }
 }

Reply via email to