Package io.micronaut.http.netty.body
Class NettyByteBufMessageBodyHandler
java.lang.Object
io.micronaut.http.netty.body.NettyByteBufMessageBodyHandler
- All Implemented Interfaces:
ChunkedMessageBodyReader<io.netty.buffer.ByteBuf>,MessageBodyHandler<io.netty.buffer.ByteBuf>,MessageBodyReader<io.netty.buffer.ByteBuf>,MessageBodyWriter<io.netty.buffer.ByteBuf>,ResponseBodyWriter<io.netty.buffer.ByteBuf>,TypedMessageBodyHandler<io.netty.buffer.ByteBuf>,TypedMessageBodyReader<io.netty.buffer.ByteBuf>,TypedMessageBodyWriter<io.netty.buffer.ByteBuf>
@Internal
@Singleton
public final class NettyByteBufMessageBodyHandler
extends Object
implements TypedMessageBodyHandler<io.netty.buffer.ByteBuf>, ChunkedMessageBodyReader<io.netty.buffer.ByteBuf>, ResponseBodyWriter<io.netty.buffer.ByteBuf>
Handler for netty
ByteBuf.- Since:
- 4.0.0
- Author:
- Jonas Konrad
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionArgument<io.netty.buffer.ByteBuf>getType()io.netty.buffer.ByteBufread(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, ByteBuffer<?> byteBuffer) Reads an object from the given byte buffer.io.netty.buffer.ByteBufread(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, InputStream inputStream) Reads an object from the given byte buffer.Publisher<io.netty.buffer.ByteBuf>readChunked(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, Publisher<ByteBuffer<?>> input) writePiece(@NonNull ByteBodyFactory bodyFactory, @NonNull HttpRequest<?> request, @NonNull HttpResponse<?> response, @NonNull Argument<io.netty.buffer.ByteBuf> type, @NonNull MediaType mediaType, io.netty.buffer.ByteBuf object) Write a piece of a larger response, e.g.ByteBuffer<?>writeTo(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, io.netty.buffer.ByteBuf object, MutableHeaders outgoingHeaders, ByteBufferFactory<?, ?> bufferFactory) Writes an object to the given stream.voidwriteTo(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, io.netty.buffer.ByteBuf object, MutableHeaders outgoingHeaders, OutputStream outputStream) Writes an object to the given output stream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.http.body.MessageBodyWriter
createSpecific, isBlockingMethods inherited from interface io.micronaut.http.body.ResponseBodyWriter
writeMethods inherited from interface io.micronaut.http.body.TypedMessageBodyReader
isReadableMethods inherited from interface io.micronaut.http.body.TypedMessageBodyWriter
isWriteable
-
Constructor Details
-
NettyByteBufMessageBodyHandler
public NettyByteBufMessageBodyHandler()
-
-
Method Details
-
getType
- Specified by:
getTypein interfaceTypedMessageBodyHandler<io.netty.buffer.ByteBuf>- Specified by:
getTypein interfaceTypedMessageBodyReader<io.netty.buffer.ByteBuf>- Specified by:
getTypein interfaceTypedMessageBodyWriter<io.netty.buffer.ByteBuf>- Returns:
- The body type.
-
readChunked
public Publisher<io.netty.buffer.ByteBuf> readChunked(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, Publisher<ByteBuffer<?>> input) - Specified by:
readChunkedin interfaceChunkedMessageBodyReader<io.netty.buffer.ByteBuf>
-
read
public io.netty.buffer.ByteBuf read(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, ByteBuffer<?> byteBuffer) throws CodecException Description copied from interface:MessageBodyReaderReads an object from the given byte buffer.- Specified by:
readin interfaceMessageBodyReader<io.netty.buffer.ByteBuf>- Parameters:
type- The type being decoded.mediaType- The media type, can benullhttpHeaders- The HTTP headersbyteBuffer- The byte buffer- Returns:
- The read object or
null - Throws:
CodecException- If an error occurs decoding
-
read
public io.netty.buffer.ByteBuf read(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, Headers httpHeaders, InputStream inputStream) throws CodecException Description copied from interface:MessageBodyReaderReads an object from the given byte buffer.- Specified by:
readin interfaceMessageBodyReader<io.netty.buffer.ByteBuf>- Parameters:
type- The type being decoded.mediaType- The media type, can benullhttpHeaders- The HTTP headersinputStream- The input stream- Returns:
- The read object or
null - Throws:
CodecException- If an error occurs decoding
-
writeTo
public void writeTo(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, io.netty.buffer.ByteBuf object, MutableHeaders outgoingHeaders, OutputStream outputStream) throws CodecException Description copied from interface:MessageBodyWriterWrites an object to the given output stream.- Specified by:
writeToin interfaceMessageBodyWriter<io.netty.buffer.ByteBuf>- Parameters:
type- The typemediaType- The media typeobject- The object to writeoutgoingHeaders- The HTTP headersoutputStream- The output stream- Throws:
CodecException- If an error occurs decoding
-
writeTo
public ByteBuffer<?> writeTo(Argument<io.netty.buffer.ByteBuf> type, MediaType mediaType, io.netty.buffer.ByteBuf object, MutableHeaders outgoingHeaders, ByteBufferFactory<?, ?> bufferFactory) throws CodecExceptionDescription copied from interface:MessageBodyWriterWrites an object to the given stream.- Specified by:
writeToin interfaceMessageBodyWriter<io.netty.buffer.ByteBuf>- Parameters:
type- The typemediaType- The media typeobject- The object to writeoutgoingHeaders- The HTTP headersbufferFactory- A byte buffer factory- Returns:
- The encoded byte buffer
- Throws:
CodecException- If an error occurs decoding
-
writePiece
@NonNull public @NonNull CloseableByteBody writePiece(@NonNull @NonNull ByteBodyFactory bodyFactory, @NonNull @NonNull HttpRequest<?> request, @NonNull @NonNull HttpResponse<?> response, @NonNull @NonNull Argument<io.netty.buffer.ByteBuf> type, @NonNull @NonNull MediaType mediaType, io.netty.buffer.ByteBuf object) throws CodecException Description copied from interface:ResponseBodyWriterWrite a piece of a larger response, e.g. when writing a Publisher or a part of a multipart response. In this case, response headers cannot be modified.- Specified by:
writePiecein interfaceResponseBodyWriter<io.netty.buffer.ByteBuf>- Parameters:
bodyFactory- The buffer factoryrequest- The requestresponse- The response this piece is part oftype- The type of this piecemediaType- The media type of this pieceobject- The piece to write- Returns:
- The response bytes
- Throws:
CodecException- If an error occurs encoding
-