From 3b8197cf5f603ccc93030b02f7a92ac35ebd6ddc Mon Sep 17 00:00:00 2001 From: Guillaume Smet <guillaume.smet@gmail.com> Date: Mon, 13 Jan 2025 14:46:08 +0100 Subject: [PATCH] Quarkus REST - Use ByteBufInputStream instead of copying bytes This is related to #45122 and reduce the amount of copy of the content we keep in memory. (cherry picked from commit 09edb568c14d738463da42a9d7f513a5deb1b4ca) --- .../reactive/client/handlers/ClientSendRequestHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/handlers/ClientSendRequestHandler.java b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/handlers/ClientSendRequestHandler.java index ea066ae352e12..5ba6fd50d5d77 100644 --- a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/handlers/ClientSendRequestHandler.java +++ b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/handlers/ClientSendRequestHandler.java @@ -1,6 +1,5 @@ package org.jboss.resteasy.reactive.client.handlers; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -41,6 +40,7 @@ import org.jboss.resteasy.reactive.common.core.Serialisers; import org.jboss.resteasy.reactive.common.util.MultivaluedTreeMap; +import io.netty.buffer.ByteBufInputStream; import io.netty.handler.codec.DecoderException; import io.netty.handler.codec.http.HttpHeaderValues; import io.netty.handler.codec.http.LastHttpContent; @@ -361,7 +361,7 @@ public void handle(AsyncResult<Buffer> ar) { try { if (buffer.length() > 0) { requestContext.setResponseEntityStream( - new ByteArrayInputStream(buffer.getBytes())); + new ByteBufInputStream(buffer.getByteBuf())); } else { requestContext.setResponseEntityStream(null); }