zhfeng commented on code in PR #17528:
URL: https://github.com/apache/camel/pull/17528#discussion_r2020532022
##########
components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/DefaultHttpRequestBodyHandler.java:
##########
@@ -27,21 +27,27 @@
import static
org.apache.camel.component.platform.http.vertx.VertxPlatformHttpSupport.isMultiPartFormData;
/**
- * Default {@link HttpRequestBodyHandler} that will read to read the entire
HTTP request body into memory.
+ * Default {@link HttpRequestBodyHandler} that will read the entire HTTP
request body into memory if useBodyHandler is
+ * enabled.
*/
class DefaultHttpRequestBodyHandler extends HttpRequestBodyHandler {
- DefaultHttpRequestBodyHandler(Handler<RoutingContext> delegate) {
+ final boolean useBodyHandler;
+
+ DefaultHttpRequestBodyHandler(Handler<RoutingContext> delegate, boolean
useBodyHandler) {
Review Comment:
The root case is that we are running the toD in the `vertx-worker-thread` ,
and there is a `HttpConnetion` which is running in `vertx-event-loop-thread`
still reads the content from the network. So if the vertx-http forwards the
body with `HttpServerRequest` after `vertx-event-loop-thread`, it can not read
any byte and is hanging. Then the fix is to pause the http request in the
`NoOpHttpRequestBodyHandler`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]