protected void closeChannel(ChannelHandlerContext ctx, ConnectionCloseType evt, ChannelPromise promise) {
        switch (evt) {
            case DELAYED_GRACEFUL:
                gracefully(ctx, promise);
                break;
            case GRACEFUL:
                gracefully(ctx, promise);
                break;
            case IMMEDIATE:
                immediately(ctx, promise);
                break;
            default:
                throw new IllegalArgumentException("Unknown ConnectionCloseEvent type! - " + String.valueOf(evt));
        }
    }
User: michaels@netflix.com
Date: 2/8/17
Time: 2:03 PM
zuul-core/src/main/java/com/netflix/netty/common/Http1ConnectionCloseHandler.java