private void doFilter()

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


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

        currReq.initCtx(currResp, conf.getConfig());
        currReq.setVars(nginxVars);

        PluginFilterChain chain = conf.getChain()
                .addFilter(new PluginFilter() {
                    @Override
                    public String name() {
                        return "writeFilter";
                    }

                    @Override
                    public void filter(HttpRequest request, HttpResponse response, PluginFilterChain chain) {
                        ChannelFuture future = ctx.writeAndFlush(currResp);
                        future.addListeners(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
                    }
                });

        chain.filter(currReq, currResp);
    }