Skip to content

Commit c4a735d

Browse files
committed
Write fortunes output with an output stream using byte[].
Signed-off-by: Santiago Pericas-Geertsen <[email protected]>
1 parent df21e04 commit c4a735d

File tree

1 file changed

+9
-4
lines changed
  • frameworks/Java/helidon/nima/src/main/java/io/helidon/benchmark/nima/services

1 file changed

+9
-4
lines changed

frameworks/Java/helidon/nima/src/main/java/io/helidon/benchmark/nima/services/FortuneHandler.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.fizzed.rocker.runtime.ArrayOfByteArraysOutput;
99
import io.helidon.benchmark.nima.models.DbRepository;
1010
import io.helidon.benchmark.nima.models.Fortune;
11-
import io.helidon.common.buffers.BufferData;
1211
import io.helidon.webserver.http.Handler;
1312
import io.helidon.webserver.http.ServerRequest;
1413
import io.helidon.webserver.http.ServerResponse;
@@ -39,11 +38,17 @@ public void handle(ServerRequest req, ServerResponse res) {
3938
Collections.sort(fortuneList);
4039
ArrayOfByteArraysOutput output = fortunes.template(fortuneList).render(ArrayOfByteArraysOutput.FACTORY);
4140
List<byte[]> entity = output.getArrays();
42-
BufferData bufferData = BufferData.create(entity.stream().map(BufferData::create).toList());
43-
int length = bufferData.available();
41+
42+
int length = 0;
43+
for (byte[] bytes : entity) {
44+
length += bytes.length;
45+
}
4446
res.header(CONTENT_LENGTH, String.valueOf(length));
47+
4548
try (var out = res.outputStream()) {
46-
bufferData.writeTo(out);
49+
for (byte[] bytes : entity) {
50+
out.write(bytes);
51+
}
4752
} catch (IOException e) {
4853
throw new RuntimeException(e);
4954
}

0 commit comments

Comments
 (0)