Package io.netty.handler.codec.http
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>
AChunkedInput
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 Summary
Constructors Constructor Description HttpChunkedInput(io.netty.handler.stream.ChunkedInput<io.netty.buffer.ByteBuf> input)
Creates a new instance using the specified input.HttpChunkedInput(io.netty.handler.stream.ChunkedInput<io.netty.buffer.ByteBuf> input, LastHttpContent lastHttpContent)
Creates a new instance using the specified input.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
close()
boolean
isEndOfInput()
long
length()
long
progress()
HttpContent
readChunk(io.netty.buffer.ByteBufAllocator allocator)
HttpContent
readChunk(io.netty.channel.ChannelHandlerContext ctx)
Deprecated.
-
-
-
Constructor Detail
-
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 writelastHttpContent
-LastHttpContent
that will be written as the terminating chunk. Use this for training headers.
-
-
Method Detail
-
isEndOfInput
public boolean isEndOfInput() throws Exception
- Specified by:
isEndOfInput
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
- Throws:
Exception
-
close
public void close() throws Exception
- Specified by:
close
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
- Throws:
Exception
-
readChunk
@Deprecated public HttpContent readChunk(io.netty.channel.ChannelHandlerContext ctx) throws Exception
Deprecated.- Specified by:
readChunk
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
- Throws:
Exception
-
readChunk
public HttpContent readChunk(io.netty.buffer.ByteBufAllocator allocator) throws Exception
- Specified by:
readChunk
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
- Throws:
Exception
-
length
public long length()
- Specified by:
length
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
-
progress
public long progress()
- Specified by:
progress
in interfaceio.netty.handler.stream.ChunkedInput<HttpContent>
-
-