Class CaseInsensitiveMutableHttpHeaders

java.lang.Object
io.micronaut.http.CaseInsensitiveMutableHttpHeaders
All Implemented Interfaces:
io.micronaut.core.convert.ConversionServiceAware, io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.core.convert.value.ConvertibleMultiValues<String>, io.micronaut.core.convert.value.ConvertibleValues<List<String>>, io.micronaut.core.type.Headers, io.micronaut.core.type.MutableHeaders, io.micronaut.core.value.ValueResolver<CharSequence>, HttpHeaders, MutableHttpHeaders, Iterable<Map.Entry<String,List<String>>>

@Internal public final class CaseInsensitiveMutableHttpHeaders extends Object implements MutableHttpHeaders
A MutableHttpHeaders implementation that is case-insensitive.
Since:
4.0.0
  • Constructor Details

    • CaseInsensitiveMutableHttpHeaders

      public CaseInsensitiveMutableHttpHeaders(io.micronaut.core.convert.ConversionService conversionService)
      Create an empty CaseInsensitiveMutableHttpHeaders.
      Parameters:
      conversionService - The conversion service
    • CaseInsensitiveMutableHttpHeaders

      public CaseInsensitiveMutableHttpHeaders(boolean validate, io.micronaut.core.convert.ConversionService conversionService)
      Create an empty CaseInsensitiveMutableHttpHeaders.
      Parameters:
      validate - Whether to validate the headers
      conversionService - The conversion service
    • CaseInsensitiveMutableHttpHeaders

      public CaseInsensitiveMutableHttpHeaders(Map<String,List<String>> defaults, io.micronaut.core.convert.ConversionService conversionService)
      Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.
      Parameters:
      defaults - The defaults
      conversionService - The conversion service
    • CaseInsensitiveMutableHttpHeaders

      public CaseInsensitiveMutableHttpHeaders(boolean validate, Map<String,List<String>> defaults, io.micronaut.core.convert.ConversionService conversionService)
      Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.

      Warning! Setting validate to false will not validate header names and values, and can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting').

      Parameters:
      validate - Whether to validate the headers
      defaults - The defaults
      conversionService - The conversion service
  • Method Details

    • getAll

      public List<String> getAll(CharSequence name)
      Specified by:
      getAll in interface io.micronaut.core.convert.value.ConvertibleMultiValues<String>
    • get

      @Nullable public @Nullable String get(CharSequence name)
      Specified by:
      get in interface io.micronaut.core.convert.value.ConvertibleMultiValues<String>
    • names

      public Set<String> names()
      Specified by:
      names in interface io.micronaut.core.convert.value.ConvertibleValues<List<String>>
    • values

      public Collection<List<String>> values()
      Specified by:
      values in interface io.micronaut.core.convert.value.ConvertibleValues<List<String>>
    • get

      public <T> Optional<T> get(CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext)
      Specified by:
      get in interface io.micronaut.core.value.ValueResolver<CharSequence>
    • add

      public MutableHttpHeaders add(CharSequence header, CharSequence value)
      Description copied from interface: MutableHttpHeaders
      Add a header for the given name and value.
      Specified by:
      add in interface io.micronaut.core.type.MutableHeaders
      Specified by:
      add in interface MutableHttpHeaders
      Parameters:
      header - The header name
      value - The value
      Returns:
      This headers object
    • remove

      public MutableHttpHeaders remove(CharSequence header)
      Specified by:
      remove in interface io.micronaut.core.type.MutableHeaders
      Specified by:
      remove in interface MutableHttpHeaders
    • setConversionService

      public void setConversionService(io.micronaut.core.convert.ConversionService conversionService)
      Specified by:
      setConversionService in interface io.micronaut.core.convert.ConversionServiceAware