Skip to content

Commit e2433cb

Browse files
committed
Fix errors
1 parent b34715e commit e2433cb

File tree

6 files changed

+14
-8
lines changed

6 files changed

+14
-8
lines changed

core/src/main/java/com/linecorp/armeria/common/jsonrpc/AbstractJsonRpcResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@
2727
*/
2828
@UnstableApi
2929
public abstract class AbstractJsonRpcResponse implements JsonRpcResponse {
30+
@Nullable
3031
private final Object result;
32+
33+
@Nullable
3134
private final JsonRpcError error;
3235

3336
/**

core/src/main/java/com/linecorp/armeria/common/jsonrpc/DefaultJsonRpcRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
*/
3737
@UnstableApi
3838
final class DefaultJsonRpcRequest implements JsonRpcRequest {
39+
@Nullable
3940
private final Object id;
4041
private final String method;
4142
private final List<Object> params;

core/src/main/java/com/linecorp/armeria/common/jsonrpc/JsonRpcRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static JsonRpcRequest of(@Nullable Object id, String method, @Nullable Object pa
5454
*/
5555
static JsonRpcRequest of(@Nullable Object id, String method, Iterable<?> params) {
5656
requireNonNull(params, "params");
57-
return of(id, method, params);
57+
return new DefaultJsonRpcRequest(id, method, params);
5858
}
5959

6060
/**

core/src/main/java/com/linecorp/armeria/common/jsonrpc/JsonRpcResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ static JsonRpcResponse of(Object result) {
3333
/**
3434
* Creates a new instance with error.
3535
*/
36-
static JsonRpcResponse of(JsonRpcError error) {
36+
static JsonRpcResponse ofError(JsonRpcError error) {
3737
return new SimpleJsonResponse(error);
3838
}
3939

core/src/main/java/com/linecorp/armeria/server/jsonrpc/DefaultJsonRpcResponse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
@UnstableApi
3030
@JsonInclude(JsonInclude.Include.NON_NULL)
3131
final class DefaultJsonRpcResponse extends AbstractJsonRpcResponse {
32+
@Nullable
3233
private final Object id;
3334

3435
DefaultJsonRpcResponse(Object id, Object result) {

core/src/main/java/com/linecorp/armeria/server/jsonrpc/JsonRpcService.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.Map;
2222
import java.util.Objects;
2323
import java.util.concurrent.CompletableFuture;
24+
import java.util.stream.Collectors;
2425
import java.util.stream.StreamSupport;
2526

2627
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -111,7 +112,7 @@ private HttpResponse handleBatchRequests(ServiceRequestContext ctx, JsonNode bat
111112
final List<CompletableFuture<DefaultJsonRpcResponse>> requests =
112113
StreamSupport.stream(batch.spliterator(), false)
113114
.map(item -> executeRpcCall(ctx, item))
114-
.toList();
115+
.collect(Collectors.toList());
115116

116117
if (shouldUseSse) {
117118
return ServerSentEvents.fromPublisher(
@@ -121,11 +122,11 @@ private HttpResponse handleBatchRequests(ServiceRequestContext ctx, JsonNode bat
121122
.filter(Objects::nonNull));
122123
} else {
123124
return HttpResponse.of(
124-
CompletableFuture.allOf(requests.toArray(CompletableFuture[]::new))
125+
CompletableFuture.allOf(requests.stream().toArray(CompletableFuture[]::new))
125126
.thenApply(v -> requests.stream()
126127
.map(req -> req.join())
127128
.filter(Objects::nonNull)
128-
.toList())
129+
.collect(Collectors.toList()))
129130
.thenApply(HttpResponse::ofJson));
130131
}
131132
}
@@ -179,20 +180,20 @@ private DefaultJsonRpcResponse buildFinalResponse(JsonRpcRequest request, JsonRp
179180
return (DefaultJsonRpcResponse) response;
180181
}
181182

182-
if (response.result() != null && response.error() == null) {
183+
if (request.id() != null && response.result() != null && response.error() == null) {
183184
return new DefaultJsonRpcResponse(request.id(), response.result());
184185
}
185186
if (response.error() != null && response.result() == null) {
186187
return new DefaultJsonRpcResponse(request.id(), response.error());
187188
}
188-
return null;
189+
return new DefaultJsonRpcResponse(request.id(), JsonRpcError.INTERNAL_ERROR);
189190
}
190191

191192
private static ServerSentEvent toServerSentEvent(DefaultJsonRpcResponse response) {
192193
try {
193194
return ServerSentEvent.ofData(mapper.writeValueAsString(response));
194195
} catch (Exception e) {
195-
return null;
196+
return ServerSentEvent.empty();
196197
}
197198
}
198199
}

0 commit comments

Comments
 (0)