Class CaseInsensitiveMutableHttpHeaders

  • All Implemented Interfaces:
    io.micronaut.core.convert.value.ConvertibleMultiValues<java.lang.String>, io.micronaut.core.convert.value.ConvertibleValues<java.util.List<java.lang.String>>, io.micronaut.core.type.Headers, io.micronaut.core.type.MutableHeaders, io.micronaut.core.value.ValueResolver<java.lang.CharSequence>, HttpHeaders, MutableHttpHeaders, java.lang.Iterable<java.util.Map.Entry<java.lang.String,​java.util.List<java.lang.String>>>

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

      • 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​(java.util.Map<java.lang.String,​java.util.List<java.lang.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,
                                                 java.util.Map<java.lang.String,​java.util.List<java.lang.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 Detail

      • getAll

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

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

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

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

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

        public MutableHttpHeaders add​(java.lang.CharSequence header,
                                      java.lang.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