public void finish()

in zuul-core/src/main/java/com/netflix/zuul/filters/endpoint/ProxyEndpoint.java [305:335]


    public void finish(boolean error) {
        Channel origCh = unlinkFromOrigin();

        while (concurrentReqCount.get() > 0) {
            origin.recordProxyRequestEnd();
            concurrentReqCount.decrementAndGet();
        }

        if (currentRequestStat != null) {
            if (error) {
                currentRequestStat.generalError();
            }
        }

        // Publish each of the request stats (ie. one for each attempt).
        if (!requestStats.isEmpty()) {
            int indexFinal = requestStats.size() - 1;
            for (int i = 0; i < requestStats.size(); i++) {
                RequestStat stat = requestStats.get(i);

                // Tag the final and non-final attempts.
                stat.finalAttempt(i == indexFinal);

                stat.finishIfNotAlready();
            }
        }

        if (error && (origCh != null)) {
            origCh.close();
        }
    }