Skip to content

Commit 8bd1fe6

Browse files
committed
Set content type in response. Fixes problems with JSON serialization.
Signed-off-by: Santiago Pericas-Geertsen <[email protected]>
1 parent f9db838 commit 8bd1fe6

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

frameworks/Java/helidon/nima/src/main/java/io/helidon/benchmark/nima/JsonSerializer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,14 @@ public static byte[] serialize(List<?> objs) {
7272
try {
7373
stream.reset(null);
7474
stream.writeArrayStart();
75+
int i = 0;
76+
int n = objs.size();
7577
for (Object obj : objs) {
7678
stream.writeVal(obj.getClass(), obj);
79+
if (i++ < n - 1) {
80+
stream.writeMore();
81+
}
82+
7783
}
7884
stream.writeArrayEnd();
7985
return Arrays.copyOfRange(stream.buffer().data(), 0, stream.buffer().tail());

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.helidon.benchmark.nima.models.DbRepository;
77
import io.helidon.benchmark.nima.models.World;
88
import io.helidon.common.parameters.Parameters;
9+
import io.helidon.http.HeaderValues;
910
import io.helidon.webserver.http.HttpRules;
1011
import io.helidon.webserver.http.HttpService;
1112
import io.helidon.webserver.http.ServerRequest;
@@ -33,17 +34,20 @@ public void routing(HttpRules httpRules) {
3334

3435
private void db(ServerRequest req, ServerResponse res) {
3536
res.header(SERVER);
37+
res.header(HeaderValues.CONTENT_TYPE_JSON);
3638
res.send(serialize(repository.getWorld(randomWorldNumber())));
3739
}
3840

3941
private void queries(ServerRequest req, ServerResponse res) {
4042
res.header(SERVER);
43+
res.header(HeaderValues.CONTENT_TYPE_JSON);
4144
int count = parseQueryCount(req.query());
4245
res.send(serialize(repository.getWorlds(count)));
4346
}
4447

4548
private void updates(ServerRequest req, ServerResponse res) {
4649
res.header(SERVER);
50+
res.header(HeaderValues.CONTENT_TYPE_JSON);
4751
int count = parseQueryCount(req.query());
4852
List<World> worlds = repository.updateWorlds(count);
4953
res.send(serialize(worlds));

0 commit comments

Comments
 (0)