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();
}
}