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
- }
}