Class AvailableNettyByteBody

java.lang.Object
io.micronaut.http.netty.body.NettyByteBody
io.micronaut.http.netty.body.AvailableNettyByteBody
All Implemented Interfaces:
io.micronaut.http.body.AvailableByteBody, io.micronaut.http.body.ByteBody, io.micronaut.http.body.CloseableAvailableByteBody, io.micronaut.http.body.CloseableByteBody, io.micronaut.http.body.InternalByteBody, Closeable, AutoCloseable

@Internal public final class AvailableNettyByteBody extends NettyByteBody implements io.micronaut.http.body.CloseableAvailableByteBody
Netty ByteBuf implementation of ImmediateByteBody.
Since:
4.5.0
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.micronaut.http.body.ByteBody

    io.micronaut.http.body.ByteBody.BodyDiscardedException, io.micronaut.http.body.ByteBody.SplitBackpressureMode
  • Field Summary

    Fields inherited from class io.micronaut.http.netty.body.NettyByteBody

    LOG
  • Constructor Summary

    Constructors
    Constructor
    Description
    AvailableNettyByteBody(@NonNull io.netty.buffer.ByteBuf buffer)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.body.CloseableAvailableByteBody>
     
    void
     
    static @NonNull io.micronaut.http.body.CloseableByteBody
    createChecked(@NonNull io.netty.channel.EventLoop loop, @NonNull BodySizeLimits bodySizeLimits, @NonNull io.netty.buffer.ByteBuf buf)
    This is a wrapper around AvailableNettyByteBody(ByteBuf) with an extra body length check.
    static io.micronaut.http.body.CloseableAvailableByteBody
     
    long
     
    io.netty.buffer.ByteBuf
     
    @NonNull io.micronaut.http.body.CloseableAvailableByteBody
     
    byte @NonNull []
     
    static @NonNull io.netty.buffer.ByteBuf
    toByteBuf(@NonNull io.micronaut.http.body.AvailableByteBody body)
     
    @NonNull io.micronaut.core.io.buffer.ByteBuffer<?>
     
    protected reactor.core.publisher.Flux<io.netty.buffer.ByteBuf>
     
    @NonNull InputStream
     
    @NonNull String
    toString(Charset charset)
     

    Methods inherited from class io.micronaut.http.netty.body.NettyByteBody

    toByteArrayPublisher, toByteBufferPublisher, toByteBufs

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.http.body.AvailableByteBody

    expectedLength, split, toByteArrayPublisher, toByteBufferPublisher

    Methods inherited from interface io.micronaut.http.body.CloseableAvailableByteBody

    allowDiscard

    Methods inherited from interface io.micronaut.http.body.InternalByteBody

    buffer
  • Constructor Details

    • AvailableNettyByteBody

      public AvailableNettyByteBody(@NonNull @NonNull io.netty.buffer.ByteBuf buffer)
  • Method Details

    • empty

      public static io.micronaut.http.body.CloseableAvailableByteBody empty()
    • toByteBuf

      @NonNull public static @NonNull io.netty.buffer.ByteBuf toByteBuf(@NonNull @NonNull io.micronaut.http.body.AvailableByteBody body)
    • createChecked

      @NonNull public static @NonNull io.micronaut.http.body.CloseableByteBody createChecked(@NonNull @NonNull io.netty.channel.EventLoop loop, @NonNull @NonNull BodySizeLimits bodySizeLimits, @NonNull @NonNull io.netty.buffer.ByteBuf buf)
      This is a wrapper around AvailableNettyByteBody(ByteBuf) with an extra body length check.
      Parameters:
      loop - The event loop for constructing StreamingNettyByteBody
      bodySizeLimits - The body size limits to check
      buf - The input buffer
      Returns:
      The body with the given input buffer, or a StreamingNettyByteBody with the appropriate content length error
    • peek

      public io.netty.buffer.ByteBuf peek()
    • toInputStream

      @NonNull public @NonNull InputStream toInputStream()
      Specified by:
      toInputStream in interface io.micronaut.http.body.ByteBody
    • length

      public long length()
      Specified by:
      length in interface io.micronaut.http.body.AvailableByteBody
    • bufferFlow

      @NonNull public @NonNull io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.body.CloseableAvailableByteBody> bufferFlow()
      Specified by:
      bufferFlow in interface io.micronaut.http.body.InternalByteBody
      Specified by:
      bufferFlow in class NettyByteBody
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface io.micronaut.http.body.CloseableByteBody
    • toByteBufPublisher

      protected reactor.core.publisher.Flux<io.netty.buffer.ByteBuf> toByteBufPublisher()
    • toByteArray

      public byte @NonNull [] toByteArray()
      Specified by:
      toByteArray in interface io.micronaut.http.body.AvailableByteBody
    • toByteBuffer

      @NonNull public @NonNull io.micronaut.core.io.buffer.ByteBuffer<?> toByteBuffer()
      Specified by:
      toByteBuffer in interface io.micronaut.http.body.AvailableByteBody
    • toString

      @NonNull public @NonNull String toString(Charset charset)
      Specified by:
      toString in interface io.micronaut.http.body.AvailableByteBody
    • split

      @NonNull public @NonNull io.micronaut.http.body.CloseableAvailableByteBody split()
      Specified by:
      split in interface io.micronaut.http.body.AvailableByteBody
      Specified by:
      split in interface io.micronaut.http.body.ByteBody