@Override public AssembledHttpRequest touch() { content.touch(); return this; }
@Override public AssembledHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public FullHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public AssembledHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public AssembledHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public FullHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public FullHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public FullHttpRequest touch() { content.touch(); return this; }
@Override public FullHttpRequest touch(Object hint) { content.touch(hint); return this; }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof HttpRequest) { newRequest(ctx, (HttpRequest) msg); } else if (msg instanceof HttpContent) { ((HttpContent) msg).touch(); RequestBodyAccumulator bodyAccumulator = ctx.channel().attr(BODY_ACCUMULATOR_KEY).get(); if (bodyAccumulator == null) { ((HttpContent) msg).release(); } else { bodyAccumulator.add((HttpContent) msg); } // Read for the next request proactively so that we // detect if the client closes the connection. if (msg instanceof LastHttpContent) { ctx.channel().read(); } } else { Action<Object> subscriber = ctx.channel().attr(CHANNEL_SUBSCRIBER_ATTRIBUTE_KEY).get(); if (subscriber == null) { super.channelRead(ctx, ReferenceCountUtil.touch(msg)); } else { subscriber.execute(ReferenceCountUtil.touch(msg)); } } }
success(downstream, new DefaultStreamedResponse(channelPipeline)); } else if (httpObject instanceof HttpContent) { HttpContent httpContent = ((HttpContent) httpObject).touch(); boolean hasContent = httpContent.content().readableBytes() > 0; boolean isLast = httpObject instanceof LastHttpContent; received = new ArrayList<>(); received.add(httpContent.touch()); } else { httpContent.release();