[
https://issues.apache.org/jira/browse/CAMEL-19905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17767892#comment-17767892
]
Claus Ibsen commented on CAMEL-19905:
-------------------------------------
[~jamesnetherton] I wonder if you have some thoughts or could look into this?
When I looked into the code of vertx, then it appears that the body is backed
as a vertx Buffer that are read via the
io.vertx.ext.web.handler.impl.BodyHandlerImpl.BHandler
And that BHandler will append to its buffer, which is in-memory based.
But what we need is like a servlet based (eg camel-servlet) to just have access
to the HTTP stream, and read the message payload directly via an API such as
java.io.InputStream.
> camel-platform-http-vertx - Streaming mode for message body
> -----------------------------------------------------------
>
> Key: CAMEL-19905
> URL: https://issues.apache.org/jira/browse/CAMEL-19905
> Project: Camel
> Issue Type: Improvement
> Components: camel-platform-http-vertx
> Reporter: Claus Ibsen
> Priority: Major
>
> It appears that when you have big HTTP requests then vertx-http server will
> read all content into memory.
> At first glance it does not seems an easy API to use some kind of streaming
> mode via java.io.InputStream as the message body type.
> The vertx based Buffer appears to be read entirely into memory.
> io.vertx.ext.web.handler.BodyHandler#create()
> See the following code
> https://github.com/apache/camel/blob/b7eed290f06dc483e67892b3bb1cfccc0a4e1f1e/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java#L276
--
This message was sent by Atlassian Jira
(v8.20.10#820010)