in runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/RpcCallHandler.java [83:108]
protected void channelRead0(ChannelHandlerContext ctx, A6Request request) {
try {
if (request instanceof A6ErrRequest) {
errorHandle(ctx, ((A6ErrRequest) request).getCode());
return;
}
if (request.getType() == Constants.RPC_EXTRA_INFO) {
assert request instanceof ExtraInfoResponse;
handleExtraInfo(ctx, (ExtraInfoResponse) request);
}
if (request.getType() == Constants.RPC_HTTP_REQ_CALL) {
assert request instanceof HttpRequest;
handleHttpReqCall(ctx, (HttpRequest) request);
}
if (request.getType() == Constants.RPC_HTTP_RESP_CALL) {
assert request instanceof PostRequest;
handleHttpRespCall(ctx, (PostRequest) request);
}
} catch (Exception e) {
logger.error("handle request error: ", e);
errorHandle(ctx, Code.SERVICE_UNAVAILABLE);
}
}