Skip to content

Commit cb5d48d

Browse files
authored
Merge pull request #42332 from stuartwdouglas/require-socket
Add ability to always require a socket
2 parents 3567754 + 6750fe6 commit cb5d48d

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.quarkus.vertx.http.deployment;
2+
3+
import io.quarkus.builder.item.SimpleBuildItem;
4+
5+
/**
6+
* Marker class that can be used to force the socket to open even when using virtual HTTP.
7+
*
8+
* There are some use cases that may want to handle both real and virtual HTTP requests, such as mapping incoming
9+
* gRPC requests onto JAX-RS handlers.
10+
*/
11+
public final class RequireSocketHttpBuildItem extends SimpleBuildItem {
12+
public static final RequireSocketHttpBuildItem MARKER = new RequireSocketHttpBuildItem();
13+
}

extensions/vertx-http/deployment/src/main/java/io/quarkus/vertx/http/deployment/VertxHttpProcessor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ void openSocket(ApplicationStartBuildItem start,
442442
BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
443443
HttpBuildTimeConfig httpBuildTimeConfig,
444444
Optional<RequireVirtualHttpBuildItem> requireVirtual,
445+
Optional<RequireSocketHttpBuildItem> requireSocket,
445446
EventLoopCountBuildItem eventLoopCount,
446447
List<WebsocketSubProtocolsBuildItem> websocketSubProtocols,
447448
Capabilities capabilities,
@@ -452,8 +453,9 @@ void openSocket(ApplicationStartBuildItem start,
452453
.produce(ReflectiveClassBuildItem.builder(VirtualServerChannel.class)
453454
.build());
454455
}
455-
boolean startSocket = (!startVirtual || launchMode.getLaunchMode() != LaunchMode.NORMAL)
456-
&& (requireVirtual.isEmpty() || !requireVirtual.get().isAlwaysVirtual());
456+
boolean startSocket = requireSocket.isPresent() ||
457+
((!startVirtual || launchMode.getLaunchMode() != LaunchMode.NORMAL)
458+
&& (requireVirtual.isEmpty() || !requireVirtual.get().isAlwaysVirtual()));
457459
recorder.startServer(vertx.getVertx(), shutdown,
458460
launchMode.getLaunchMode(), startVirtual, startSocket,
459461
eventLoopCount.getEventLoopCount(),

0 commit comments

Comments
 (0)