Enum HttpProtocolOptions.HeadersWithUnderscoresAction

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, java.io.Serializable, java.lang.Comparable<HttpProtocolOptions.HeadersWithUnderscoresAction>
    Enclosing class:
    HttpProtocolOptions

    public static enum HttpProtocolOptions.HeadersWithUnderscoresAction
    extends java.lang.Enum<HttpProtocolOptions.HeadersWithUnderscoresAction>
    implements com.google.protobuf.ProtocolMessageEnum
     Action to take when Envoy receives client request with header names containing underscore
     characters.
     Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented
     as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
     characters.
     
    Protobuf enum envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction
    • Field Detail

      • ALLOW_VALUE

        public static final int ALLOW_VALUE
         Allow headers with underscores. This is the default behavior.
         
        ALLOW = 0;
        See Also:
        Constant Field Values
      • REJECT_REQUEST_VALUE

        public static final int REJECT_REQUEST_VALUE
         Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests
         end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter
         is incremented for each rejected request.
         
        REJECT_REQUEST = 1;
        See Also:
        Constant Field Values
      • DROP_HEADER_VALUE

        public static final int DROP_HEADER_VALUE
         Drop the client header with name containing underscores. The header is dropped before the filter chain is
         invoked and as such filters will not see dropped headers. The
         "httpN.dropped_headers_with_underscores" is incremented for each dropped header.
         
        DROP_HEADER = 2;
        See Also:
        Constant Field Values
      • value

        private final int value
    • Constructor Detail

      • HeadersWithUnderscoresAction

        private HeadersWithUnderscoresAction​(int value)
    • Method Detail

      • values

        public static HttpProtocolOptions.HeadersWithUnderscoresAction[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (HttpProtocolOptions.HeadersWithUnderscoresAction c : HttpProtocolOptions.HeadersWithUnderscoresAction.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static HttpProtocolOptions.HeadersWithUnderscoresAction valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static HttpProtocolOptions.HeadersWithUnderscoresAction valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • forNumber

        public static HttpProtocolOptions.HeadersWithUnderscoresAction forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static HttpProtocolOptions.HeadersWithUnderscoresAction valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null