diff --git a/sdk-http-vertx/src/main/java/dev/restate/sdk/http/vertx/HttpEndpointRequestHandler.java b/sdk-http-vertx/src/main/java/dev/restate/sdk/http/vertx/HttpEndpointRequestHandler.java index 1ff88269..554c4484 100644 --- a/sdk-http-vertx/src/main/java/dev/restate/sdk/http/vertx/HttpEndpointRequestHandler.java +++ b/sdk-http-vertx/src/main/java/dev/restate/sdk/http/vertx/HttpEndpointRequestHandler.java @@ -20,10 +20,10 @@ import io.reactiverse.contextual.logging.ContextualData; import io.vertx.core.Context; import io.vertx.core.Handler; +import io.vertx.core.Vertx; import io.vertx.core.http.HttpServerRequest; import io.vertx.core.http.HttpServerResponse; import io.vertx.core.http.HttpVersion; -import io.vertx.core.http.impl.HttpServerRequestInternal; import java.net.URI; import java.util.concurrent.Executor; import org.apache.logging.log4j.LogManager; @@ -50,7 +50,9 @@ private HttpEndpointRequestHandler(Endpoint endpoint, boolean enableBidirectiona @Override public void handle(HttpServerRequest request) { URI uri = URI.create(request.uri()); - Context vertxCurrentContext = ((HttpServerRequestInternal) request).context(); + // The handler is dispatched by Vert.x on the request's event-loop context, so the current + // context is the same instance as ((HttpServerRequestInternal) request).context(). + Context vertxCurrentContext = Vertx.currentContext(); RequestProcessor requestProcessor; try {