Class HttpChunkedInput

java.lang.Object
io.netty.handler.codec.http.HttpChunkedInput
All Implemented Interfaces:
io.netty.handler.stream.ChunkedInput<HttpContent>

public class HttpChunkedInput extends Object implements io.netty.handler.stream.ChunkedInput<HttpContent>
A ChunkedInput that fetches data chunk by chunk for use with HTTP chunked transfers.

Each chunk from the input data will be wrapped within a HttpContent. At the end of the input data, LastHttpContent will be written.

Ensure that your HTTP response header contains Transfer-Encoding: chunked.

 public void messageReceived(ChannelHandlerContext ctx, FullHttpRequest request) throws Exception {
     HttpResponse response = new DefaultHttpResponse(HTTP_1_1, OK);
     response.headers().set(TRANSFER_ENCODING, CHUNKED);
     ctx.write(response);

     HttpChunkedInput httpChunkWriter = new HttpChunkedInput(
         new ChunkedFile("/tmp/myfile.txt"));
     ChannelFuture sendFileFuture = ctx.write(httpChunkWriter);
 }
 
  • Constructor Details

    • HttpChunkedInput

      public HttpChunkedInput(io.netty.handler.stream.ChunkedInput<io.netty.buffer.ByteBuf> input)
      Creates a new instance using the specified input.
      Parameters:
      input - ChunkedInput containing data to write
    • HttpChunkedInput

      public HttpChunkedInput(io.netty.handler.stream.ChunkedInput<io.netty.buffer.ByteBuf> input, LastHttpContent lastHttpContent)
      Creates a new instance using the specified input. lastHttpContent will be written as the terminating chunk.
      Parameters:
      input - ChunkedInput containing data to write
      lastHttpContent - LastHttpContent that will be written as the terminating chunk. Use this for training headers.
  • Method Details

    • isEndOfInput

      public boolean isEndOfInput() throws Exception
      Specified by:
      isEndOfInput in interface io.netty.handler.stream.ChunkedInput<HttpContent>
      Throws:
      Exception
    • close

      public void close() throws Exception
      Specified by:
      close in interface io.netty.handler.stream.ChunkedInput<HttpContent>
      Throws:
      Exception
    • readChunk

      @Deprecated public HttpContent readChunk(io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Deprecated.
      Specified by:
      readChunk in interface io.netty.handler.stream.ChunkedInput<HttpContent>
      Throws:
      Exception
    • readChunk

      public HttpContent readChunk(io.netty.buffer.ByteBufAllocator allocator) throws Exception
      Specified by:
      readChunk in interface io.netty.handler.stream.ChunkedInput<HttpContent>
      Throws:
      Exception
    • length

      public long length()
      Specified by:
      length in interface io.netty.handler.stream.ChunkedInput<HttpContent>
    • progress

      public long progress()
      Specified by:
      progress in interface io.netty.handler.stream.ChunkedInput<HttpContent>