@Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
        if (msg instanceof LastHttpContent) {
            removeInternalHandler(ctx);
        } else if (msg instanceof HttpRequest) {
            // Start timeout handler.
            InternalReadTimeoutHandler handler = new InternalReadTimeoutHandler(timeout, unit);
            ctx.pipeline().addBefore(HANDLER_NAME, INTERNAL_HANDLER_NAME, handler);
        }

        super.channelRead(ctx, msg);
    }
Factory which ensures that this handler is added to the pipeline using the
correct name.
zuul-core/src/main/java/com/netflix/netty/common/HttpRequestReadTimeoutHandler.java