Class Http1ProtocolOptions

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Http1ProtocolOptionsOrBuilder, java.io.Serializable

    public final class Http1ProtocolOptions
    extends com.google.protobuf.GeneratedMessage
    implements Http1ProtocolOptionsOrBuilder
     [#next-free-field: 11]
     
    Protobuf type envoy.config.core.v3.Http1ProtocolOptions
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • ALLOW_ABSOLUTE_URL_FIELD_NUMBER

        public static final int ALLOW_ABSOLUTE_URL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • allowAbsoluteUrl_

        private com.google.protobuf.BoolValue allowAbsoluteUrl_
      • ACCEPT_HTTP_10_FIELD_NUMBER

        public static final int ACCEPT_HTTP_10_FIELD_NUMBER
        See Also:
        Constant Field Values
      • acceptHttp10_

        private boolean acceptHttp10_
      • DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER

        public static final int DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER
        See Also:
        Constant Field Values
      • defaultHostForHttp10_

        private volatile java.lang.Object defaultHostForHttp10_
      • HEADER_KEY_FORMAT_FIELD_NUMBER

        public static final int HEADER_KEY_FORMAT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENABLE_TRAILERS_FIELD_NUMBER

        public static final int ENABLE_TRAILERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • enableTrailers_

        private boolean enableTrailers_
      • ALLOW_CHUNKED_LENGTH_FIELD_NUMBER

        public static final int ALLOW_CHUNKED_LENGTH_FIELD_NUMBER
        See Also:
        Constant Field Values
      • allowChunkedLength_

        private boolean allowChunkedLength_
      • OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER

        public static final int OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • overrideStreamErrorOnInvalidHttpMessage_

        private com.google.protobuf.BoolValue overrideStreamErrorOnInvalidHttpMessage_
      • SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER

        public static final int SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • sendFullyQualifiedUrl_

        private boolean sendFullyQualifiedUrl_
      • USE_BALSA_PARSER_FIELD_NUMBER

        public static final int USE_BALSA_PARSER_FIELD_NUMBER
        See Also:
        Constant Field Values
      • useBalsaParser_

        private com.google.protobuf.BoolValue useBalsaParser_
      • ALLOW_CUSTOM_METHODS_FIELD_NUMBER

        public static final int ALLOW_CUSTOM_METHODS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • allowCustomMethods_

        private boolean allowCustomMethods_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • Http1ProtocolOptions

        private Http1ProtocolOptions​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • Http1ProtocolOptions

        private Http1ProtocolOptions()
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • hasAllowAbsoluteUrl

        public boolean hasAllowAbsoluteUrl()
         Handle HTTP requests with absolute URLs in the requests. These requests
         are generally sent by clients to forward/explicit proxies. This allows clients to configure
         envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
         ``http_proxy`` environment variable.
         
        .google.protobuf.BoolValue allow_absolute_url = 1;
        Specified by:
        hasAllowAbsoluteUrl in interface Http1ProtocolOptionsOrBuilder
        Returns:
        Whether the allowAbsoluteUrl field is set.
      • getAllowAbsoluteUrl

        public com.google.protobuf.BoolValue getAllowAbsoluteUrl()
         Handle HTTP requests with absolute URLs in the requests. These requests
         are generally sent by clients to forward/explicit proxies. This allows clients to configure
         envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
         ``http_proxy`` environment variable.
         
        .google.protobuf.BoolValue allow_absolute_url = 1;
        Specified by:
        getAllowAbsoluteUrl in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The allowAbsoluteUrl.
      • getAllowAbsoluteUrlOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getAllowAbsoluteUrlOrBuilder()
         Handle HTTP requests with absolute URLs in the requests. These requests
         are generally sent by clients to forward/explicit proxies. This allows clients to configure
         envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
         ``http_proxy`` environment variable.
         
        .google.protobuf.BoolValue allow_absolute_url = 1;
        Specified by:
        getAllowAbsoluteUrlOrBuilder in interface Http1ProtocolOptionsOrBuilder
      • getAcceptHttp10

        public boolean getAcceptHttp10()
         Handle incoming HTTP/1.0 and HTTP 0.9 requests.
         This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
         style connect logic, dechunking, and handling lack of client host iff
         ``default_host_for_http_10`` is configured.
         
        bool accept_http_10 = 2;
        Specified by:
        getAcceptHttp10 in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The acceptHttp10.
      • getDefaultHostForHttp10

        public java.lang.String getDefaultHostForHttp10()
         A default host for HTTP/1.0 requests. This is highly suggested if ``accept_http_10`` is true as
         Envoy does not otherwise support HTTP/1.0 without a Host header.
         This is a no-op if ``accept_http_10`` is not true.
         
        string default_host_for_http_10 = 3;
        Specified by:
        getDefaultHostForHttp10 in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The defaultHostForHttp10.
      • getDefaultHostForHttp10Bytes

        public com.google.protobuf.ByteString getDefaultHostForHttp10Bytes()
         A default host for HTTP/1.0 requests. This is highly suggested if ``accept_http_10`` is true as
         Envoy does not otherwise support HTTP/1.0 without a Host header.
         This is a no-op if ``accept_http_10`` is not true.
         
        string default_host_for_http_10 = 3;
        Specified by:
        getDefaultHostForHttp10Bytes in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The bytes for defaultHostForHttp10.
      • hasHeaderKeyFormat

        public boolean hasHeaderKeyFormat()
         Describes how the keys for response headers should be formatted. By default, all header keys
         are lower cased.
         
        .envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat header_key_format = 4;
        Specified by:
        hasHeaderKeyFormat in interface Http1ProtocolOptionsOrBuilder
        Returns:
        Whether the headerKeyFormat field is set.
      • getEnableTrailers

        public boolean getEnableTrailers()
         Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers.
        
         .. attention::
        
         Note that this only happens when Envoy is chunk encoding which occurs when:
         - The request is HTTP/1.1.
         - Is neither a HEAD only request nor a HTTP Upgrade.
         - Not a response to a HEAD request.
         - The content length header is not present.
         
        bool enable_trailers = 5;
        Specified by:
        getEnableTrailers in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The enableTrailers.
      • getAllowChunkedLength

        public boolean getAllowChunkedLength()
         Allows Envoy to process requests/responses with both ``Content-Length`` and ``Transfer-Encoding``
         headers set. By default such messages are rejected, but if option is enabled - Envoy will
         remove Content-Length header and process message.
         See `RFC7230, sec. 3.3.3 <https://tools.ietf.org/html/rfc7230#section-3.3.3>`_ for details.
        
         .. attention::
         Enabling this option might lead to request smuggling vulnerability, especially if traffic
         is proxied via multiple layers of proxies.
         [#comment:TODO: This field is ignored when the
         :ref:`header validation configuration <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config>`
         is present.]
         
        bool allow_chunked_length = 6;
        Specified by:
        getAllowChunkedLength in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The allowChunkedLength.
      • hasOverrideStreamErrorOnInvalidHttpMessage

        public boolean hasOverrideStreamErrorOnInvalidHttpMessage()
         Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
         HTTP/1.1 connections upon receiving an invalid HTTP message. However,
         when this option is true, then Envoy will leave the HTTP/1.1 connection
         open where possible.
         If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
         
        .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
        Specified by:
        hasOverrideStreamErrorOnInvalidHttpMessage in interface Http1ProtocolOptionsOrBuilder
        Returns:
        Whether the overrideStreamErrorOnInvalidHttpMessage field is set.
      • getOverrideStreamErrorOnInvalidHttpMessage

        public com.google.protobuf.BoolValue getOverrideStreamErrorOnInvalidHttpMessage()
         Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
         HTTP/1.1 connections upon receiving an invalid HTTP message. However,
         when this option is true, then Envoy will leave the HTTP/1.1 connection
         open where possible.
         If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
         
        .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
        Specified by:
        getOverrideStreamErrorOnInvalidHttpMessage in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The overrideStreamErrorOnInvalidHttpMessage.
      • getOverrideStreamErrorOnInvalidHttpMessageOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getOverrideStreamErrorOnInvalidHttpMessageOrBuilder()
         Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
         HTTP/1.1 connections upon receiving an invalid HTTP message. However,
         when this option is true, then Envoy will leave the HTTP/1.1 connection
         open where possible.
         If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
         
        .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
        Specified by:
        getOverrideStreamErrorOnInvalidHttpMessageOrBuilder in interface Http1ProtocolOptionsOrBuilder
      • getSendFullyQualifiedUrl

        public boolean getSendFullyQualifiedUrl()
         Allows sending fully qualified URLs when proxying the first line of the
         response. By default, Envoy will only send the path components in the first line.
         If this is true, Envoy will create a fully qualified URI composing scheme
         (inferred if not present), host (from the host/:authority header) and path
         (from first line or :path header).
         
        bool send_fully_qualified_url = 8;
        Specified by:
        getSendFullyQualifiedUrl in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The sendFullyQualifiedUrl.
      • hasUseBalsaParser

        public boolean hasUseBalsaParser()
         [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
         If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
         If unset, HTTP/1 parser is selected based on
         envoy.reloadable_features.http1_use_balsa_parser.
         See issue #21245.
         
        .google.protobuf.BoolValue use_balsa_parser = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        hasUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
        Returns:
        Whether the useBalsaParser field is set.
      • getUseBalsaParser

        public com.google.protobuf.BoolValue getUseBalsaParser()
         [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
         If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
         If unset, HTTP/1 parser is selected based on
         envoy.reloadable_features.http1_use_balsa_parser.
         See issue #21245.
         
        .google.protobuf.BoolValue use_balsa_parser = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The useBalsaParser.
      • getUseBalsaParserOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getUseBalsaParserOrBuilder()
         [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
         If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
         If unset, HTTP/1 parser is selected based on
         envoy.reloadable_features.http1_use_balsa_parser.
         See issue #21245.
         
        .google.protobuf.BoolValue use_balsa_parser = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getUseBalsaParserOrBuilder in interface Http1ProtocolOptionsOrBuilder
      • getAllowCustomMethods

        public boolean getAllowCustomMethods()
         [#not-implemented-hide:] Hiding so that field can be removed.
         If true, and BalsaParser is used (either `use_balsa_parser` above is true,
         or `envoy.reloadable_features.http1_use_balsa_parser` is true and
         `use_balsa_parser` is unset), then every non-empty method with only valid
         characters is accepted. Otherwise, methods not on the hard-coded list are
         rejected.
         Once UHV is enabled, this field should be removed, and BalsaParser should
         allow any method. UHV validates the method, rejecting empty string or
         invalid characters, and provides :ref:`restrict_http_methods
         <envoy_v3_api_field_extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.restrict_http_methods>`
         to reject custom methods.
         
        bool allow_custom_methods = 10 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getAllowCustomMethods in interface Http1ProtocolOptionsOrBuilder
        Returns:
        The allowCustomMethods.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(java.nio.ByteBuffer data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(java.nio.ByteBuffer data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(com.google.protobuf.ByteString data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(com.google.protobuf.ByteString data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(byte[] data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(byte[] data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(java.io.InputStream input)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(java.io.InputStream input,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Http1ProtocolOptions parseDelimitedFrom​(java.io.InputStream input)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Http1ProtocolOptions parseDelimitedFrom​(java.io.InputStream input,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(com.google.protobuf.CodedInputStream input)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Http1ProtocolOptions parseFrom​(com.google.protobuf.CodedInputStream input,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public Http1ProtocolOptions.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Http1ProtocolOptions.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Http1ProtocolOptions.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getParserForType

        public com.google.protobuf.Parser<Http1ProtocolOptions> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public Http1ProtocolOptions getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder