private void handleHttpRespCall()

in runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/RpcCallHandler.java [166:197]


    private void handleHttpRespCall(ChannelHandlerContext ctx, PostRequest request) {
        cleanCtx();

        // save HttpCallRequest
        postReq = request;
        postResp = new PostResponse(postReq.getRequestId());

        confToken = postReq.getConfToken();
        A6Conf conf = cache.getIfPresent(confToken);
        if (Objects.isNull(conf)) {
            logger.warn("cannot find conf token: {}", confToken);
            errorHandle(ctx, Code.CONF_TOKEN_NOT_FOUND);
            return;
        }

        PluginFilterChain chain = conf.getChain();

        if (Objects.isNull(chain) || 0 == chain.getFilters().size()) {
            ChannelFuture future = ctx.writeAndFlush(postResp);
            future.addListeners(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
            return;
        }

        Boolean[] result = fetchExtraInfo(ctx, chain);
        if (Objects.isNull(result)) {
            return;
        }
        if (!result[0] && !result[2]) {
            // no need to fetch extra info
            doPostFilter(ctx);
        }
    }