Class NettyHttpRequest<T>

java.lang.Object
io.netty.util.DefaultAttributeMap
io.micronaut.http.server.netty.AbstractNettyHttpRequest<T>
io.micronaut.http.server.netty.NettyHttpRequest<T>
Type Parameters:
T - The type
All Implemented Interfaces:
io.micronaut.core.attr.AttributeHolder, io.micronaut.core.attr.MutableAttributeHolder, io.micronaut.http.FullHttpRequest<T>, io.micronaut.http.HttpMessage<T>, io.micronaut.http.HttpRequest<T>, io.micronaut.http.netty.NettyHttpRequestBuilder, io.micronaut.http.PushCapableHttpRequest<T>, io.micronaut.http.ServerHttpRequest<T>, io.netty.util.AttributeMap

@Internal public final class NettyHttpRequest<T> extends AbstractNettyHttpRequest<T> implements io.micronaut.http.HttpRequest<T>, io.micronaut.http.PushCapableHttpRequest<T>, io.micronaut.http.FullHttpRequest<T>, io.micronaut.http.ServerHttpRequest<T>
Delegates to the Netty HttpRequest instance.
Since:
1.0
  • Field Details

    • convertibleBody

      @Internal public io.micronaut.core.bind.ArgumentBinder.BindingResult<io.micronaut.core.convert.value.ConvertibleValues<?>> convertibleBody
      ONLY for NettyBodyAnnotationBinder use.
  • Constructor Details

    • NettyHttpRequest

      public NettyHttpRequest(io.netty.handler.codec.http.HttpRequest nettyRequest, io.micronaut.http.body.CloseableByteBody body, io.netty.channel.ChannelHandlerContext ctx, io.micronaut.core.convert.ConversionService environment, io.micronaut.http.server.HttpServerConfiguration serverConfiguration) throws IllegalArgumentException
      Parameters:
      nettyRequest - The HttpRequest
      body - The request body
      ctx - The ChannelHandlerContext
      environment - The Environment
      serverConfiguration - The HttpServerConfiguration
      Throws:
      IllegalArgumentException - When the request URI is invalid
  • Method Details

    • byteBody

      public io.micronaut.http.body.ByteBody byteBody()
      Specified by:
      byteBody in interface io.micronaut.http.ServerHttpRequest<T>
    • setLegacyBody

      public void setLegacyBody(Object legacyBody)
    • addRouteWaitsFor

      public void addRouteWaitsFor(io.micronaut.core.execution.ExecutionFlow<?> executionFlow)
    • getRouteWaitsFor

      public io.micronaut.core.execution.ExecutionFlow<?> getRouteWaitsFor()
    • formRouteCompleter

      public FormRouteCompleter formRouteCompleter()
    • hasFormRouteCompleter

      public boolean hasFormRouteCompleter()
    • mutate

      public io.micronaut.http.MutableHttpRequest<T> mutate()
      Specified by:
      mutate in interface io.micronaut.http.HttpRequest<T>
    • getAttribute

      @NonNull public @NonNull Optional<Object> getAttribute(CharSequence name)
      Specified by:
      getAttribute in interface io.micronaut.core.attr.AttributeHolder
    • getHttpVersion

      public io.micronaut.http.HttpVersion getHttpVersion()
      Specified by:
      getHttpVersion in interface io.micronaut.http.HttpRequest<T>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getNativeRequest

      public io.netty.handler.codec.http.HttpRequest getNativeRequest()
      Returns:
      Obtain a reference to the native Netty HTTP request
    • getChannelHandlerContext

      public io.netty.channel.ChannelHandlerContext getChannelHandlerContext()
      Returns:
      The ChannelHandlerContext
    • getCookies

      public io.micronaut.http.cookie.Cookies getCookies()
      Specified by:
      getCookies in interface io.micronaut.http.HttpRequest<T>
    • getRemoteAddress

      public InetSocketAddress getRemoteAddress()
      Specified by:
      getRemoteAddress in interface io.micronaut.http.HttpRequest<T>
    • getServerAddress

      public InetSocketAddress getServerAddress()
      Specified by:
      getServerAddress in interface io.micronaut.http.HttpRequest<T>
    • getServerName

      public String getServerName()
      Specified by:
      getServerName in interface io.micronaut.http.HttpRequest<T>
    • isSecure

      public boolean isSecure()
      Specified by:
      isSecure in interface io.micronaut.http.HttpRequest<T>
    • getOrigin

      public Optional<String> getOrigin()
      Specified by:
      getOrigin in interface io.micronaut.http.HttpRequest<T>
    • getHeaders

      public io.micronaut.http.HttpHeaders getHeaders()
      Specified by:
      getHeaders in interface io.micronaut.http.HttpMessage<T>
    • getAttributes

      public io.micronaut.core.convert.value.MutableConvertibleValues<Object> getAttributes()
      Specified by:
      getAttributes in interface io.micronaut.core.attr.AttributeHolder
      Specified by:
      getAttributes in interface io.micronaut.http.HttpMessage<T>
      Specified by:
      getAttributes in interface io.micronaut.core.attr.MutableAttributeHolder
    • setAttribute

      public io.micronaut.http.HttpRequest<T> setAttribute(CharSequence name, Object value)
      Specified by:
      setAttribute in interface io.micronaut.http.HttpMessage<T>
      Specified by:
      setAttribute in interface io.micronaut.http.HttpRequest<T>
      Specified by:
      setAttribute in interface io.micronaut.core.attr.MutableAttributeHolder
    • getSslSession

      public Optional<SSLSession> getSslSession()
      Specified by:
      getSslSession in interface io.micronaut.http.HttpRequest<T>
    • getBody

      public Optional<T> getBody()
      Specified by:
      getBody in interface io.micronaut.http.HttpMessage<T>
    • getBody

      public <T1> Optional<T1> getBody(Class<T1> type)
      Specified by:
      getBody in interface io.micronaut.http.HttpMessage<T>
    • getBody

      public <T1> Optional<T1> getBody(io.micronaut.core.convert.ArgumentConversionContext<T1> conversionContext)
      Specified by:
      getBody in interface io.micronaut.http.HttpMessage<T>
    • release

      @Internal public void release()
      Release and cleanup resources.
    • isServerPushSupported

      public boolean isServerPushSupported()
      Specified by:
      isServerPushSupported in interface io.micronaut.http.PushCapableHttpRequest<T>
    • serverPush

      public io.micronaut.http.PushCapableHttpRequest<T> serverPush(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request)
      Specified by:
      serverPush in interface io.micronaut.http.PushCapableHttpRequest<T>
    • initCharset

      protected Charset initCharset(Charset characterEncoding)
      Specified by:
      initCharset in class AbstractNettyHttpRequest<T>
      Parameters:
      characterEncoding - The character encoding
      Returns:
      The Charset
    • getMaxParams

      protected int getMaxParams()
      Specified by:
      getMaxParams in class AbstractNettyHttpRequest<T>
      Returns:
      the maximum number of parameters.
    • isSemicolonIsNormalChar

      protected boolean isSemicolonIsNormalChar()
      Specified by:
      isSemicolonIsNormalChar in class AbstractNettyHttpRequest<T>
      Returns:
      true if yes, false otherwise.
    • isFormOrMultipartData

      @Internal public boolean isFormOrMultipartData()
      Returns:
      Return true if the request is form data.
    • toHttpRequest

      @Deprecated public io.netty.handler.codec.http.HttpRequest toHttpRequest()
      Deprecated.
      Specified by:
      toHttpRequest in interface io.micronaut.http.netty.NettyHttpRequestBuilder
      Overrides:
      toHttpRequest in class AbstractNettyHttpRequest<T>
    • toHttpRequestDirect

      public Optional<io.netty.handler.codec.http.HttpRequest> toHttpRequestDirect()
      Specified by:
      toHttpRequestDirect in interface io.micronaut.http.netty.NettyHttpRequestBuilder
    • byteBodyDirect

      public io.micronaut.http.body.ByteBody byteBodyDirect()
      Specified by:
      byteBodyDirect in interface io.micronaut.http.netty.NettyHttpRequestBuilder
    • toHttpRequestWithoutBody

      public io.netty.handler.codec.http.HttpRequest toHttpRequestWithoutBody()
      Specified by:
      toHttpRequestWithoutBody in interface io.micronaut.http.netty.NettyHttpRequestBuilder
    • getContentType

      public Optional<io.micronaut.http.MediaType> getContentType()
      Specified by:
      getContentType in interface io.micronaut.http.HttpMessage<T>
    • getContentLength

      public long getContentLength()
      Specified by:
      getContentLength in interface io.micronaut.http.HttpMessage<T>
    • isFull

      public boolean isFull()
      Specified by:
      isFull in interface io.micronaut.http.FullHttpRequest<T>
    • contents

      public io.micronaut.core.io.buffer.ByteBuffer<?> contents()
      Specified by:
      contents in interface io.micronaut.http.FullHttpRequest<T>
    • bufferContents

      public io.micronaut.core.execution.ExecutionFlow<io.micronaut.core.io.buffer.ByteBuffer<?>> bufferContents()
      Specified by:
      bufferContents in interface io.micronaut.http.FullHttpRequest<T>