Interface HttpMessage<B>

Type Parameters:
B - The body type
All Superinterfaces:
io.micronaut.core.attr.AttributeHolder, io.micronaut.core.attr.MutableAttributeHolder
All Known Subinterfaces:
FullHttpRequest<B>, HttpRequest<B>, HttpResponse<B>, MutableHttpMessage<B>, MutableHttpRequest<B>, MutableHttpResponse<B>, PushCapableHttpRequest<B>, ServerHttpRequest<B>
All Known Implementing Classes:
HttpMessageWrapper, HttpRequestWrapper, HttpResponseWrapper, SimpleHttpRequest

public interface HttpMessage<B> extends io.micronaut.core.attr.MutableAttributeHolder
Common interface for HTTP messages.
Since:
1.0
See Also:
  • Method Details

    • getHeaders

      @NonNull @NonNull HttpHeaders getHeaders()
      Returns:
      The HttpHeaders object
    • getAttributes

      @NonNull @NonNull io.micronaut.core.convert.value.MutableConvertibleValues<Object> getAttributes()

      A MutableConvertibleValues of the attributes for this HTTP message.

      Attributes are designed for internal data sharing and hence are isolated from headers and parameters which are client supplied

      Specified by:
      getAttributes in interface io.micronaut.core.attr.AttributeHolder
      Specified by:
      getAttributes in interface io.micronaut.core.attr.MutableAttributeHolder
      Returns:
      The attributes of the message
    • getBody

      @NonNull @NonNull Optional<B> getBody()
      Returns:
      The request body
    • getBodyWriter

      default Optional<MessageBodyWriter<B>> getBodyWriter()
      Returns:
      The body writer.
      Since:
      4.0.0
    • getCharacterEncoding

      @NonNull default @NonNull Charset getCharacterEncoding()
      Returns:
      The request character encoding. Defaults to StandardCharsets.UTF_8
    • setAttribute

      @NonNull default @NonNull HttpMessage<B> setAttribute(@NonNull @NonNull CharSequence name, Object value)
      Specified by:
      setAttribute in interface io.micronaut.core.attr.MutableAttributeHolder
    • getBody

      @NonNull default <T> @NonNull Optional<T> getBody(@NonNull @NonNull io.micronaut.core.type.Argument<T> type)
      Return the body as the given type.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type of the body
      Returns:
      An Optional of the type or Optional.empty() if the body cannot be returned as the given type
    • getBody

      @NonNull default <T> @NonNull Optional<T> getBody(@NonNull @NonNull io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)
      Return the body, will use the provided conversion context if needed.
      Type Parameters:
      T - The generic type
      Parameters:
      conversionContext - The body conversion context
      Returns:
      An Optional of the type or Optional.empty() if the body cannot be returned as the given type
      Since:
      4.0.0
    • getBody

      @NonNull default <T> @NonNull Optional<T> getBody(@NonNull @NonNull Class<T> type)
      Return the body as the given type.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type of the body
      Returns:
      An Optional of the type or Optional.empty() if the body cannot be returned as the given type
    • getLocale

      @NonNull default @NonNull Optional<Locale> getLocale()
      Returns:
      The locale of the message
    • getContentLength

      default long getContentLength()
      Returns:
      The value of the Content-Length header or -1L if none specified
    • getContentType

      @NonNull default @NonNull Optional<MediaType> getContentType()
      The request or response content type.
      Returns:
      The content type