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 Details

    • NettyByteBufMessageBodyHandler

      public NettyByteBufMessageBodyHandler()
  • Method Details

    • getType

      public Argument<io.netty.buffer.ByteBuf> getType()
      Specified by:
      getType in interface TypedMessageBodyHandler<io.netty.buffer.ByteBuf>
      Specified by:
      getType in interface TypedMessageBodyReader<io.netty.buffer.ByteBuf>
      Specified by:
      getType in interface TypedMessageBodyWriter<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:
      readChunked in interface ChunkedMessageBodyReader<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: MessageBodyReader
      Reads an object from the given byte buffer.
      Specified by:
      read in interface MessageBodyReader<io.netty.buffer.ByteBuf>
      Parameters:
      type - The type being decoded.
      mediaType - The media type, can be null
      httpHeaders - The HTTP headers
      byteBuffer - 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: MessageBodyReader
      Reads an object from the given byte buffer.
      Specified by:
      read in interface MessageBodyReader<io.netty.buffer.ByteBuf>
      Parameters:
      type - The type being decoded.
      mediaType - The media type, can be null
      httpHeaders - The HTTP headers
      inputStream - 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: MessageBodyWriter
      Writes an object to the given output stream.
      Specified by:
      writeTo in interface MessageBodyWriter<io.netty.buffer.ByteBuf>
      Parameters:
      type - The type
      mediaType - The media type
      object - The object to write
      outgoingHeaders - The HTTP headers
      outputStream - 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 CodecException
      Description copied from interface: MessageBodyWriter
      Writes an object to the given stream.
      Specified by:
      writeTo in interface MessageBodyWriter<io.netty.buffer.ByteBuf>
      Parameters:
      type - The type
      mediaType - The media type
      object - The object to write
      outgoingHeaders - The HTTP headers
      bufferFactory - A byte buffer factory
      Returns:
      The encoded byte buffer
      Throws:
      CodecException - If an error occurs decoding
    • writePiece

      public @NonNull CloseableByteBody 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) throws CodecException
      Description copied from interface: ResponseBodyWriter
      Write 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:
      writePiece in interface ResponseBodyWriter<io.netty.buffer.ByteBuf>
      Parameters:
      bodyFactory - The buffer factory
      request - The request
      response - The response this piece is part of
      type - The type of this piece
      mediaType - The media type of this piece
      object - The piece to write
      Returns:
      The response bytes
      Throws:
      CodecException - If an error occurs encoding