Class HttpProtocolOptions

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

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

      • bitField0_

        private int bitField0_
      • IDLE_TIMEOUT_FIELD_NUMBER

        public static final int IDLE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • idleTimeout_

        private com.google.protobuf.Duration idleTimeout_
      • MAX_CONNECTION_DURATION_FIELD_NUMBER

        public static final int MAX_CONNECTION_DURATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxConnectionDuration_

        private com.google.protobuf.Duration maxConnectionDuration_
      • MAX_HEADERS_COUNT_FIELD_NUMBER

        public static final int MAX_HEADERS_COUNT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxHeadersCount_

        private com.google.protobuf.UInt32Value maxHeadersCount_
      • MAX_STREAM_DURATION_FIELD_NUMBER

        public static final int MAX_STREAM_DURATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxStreamDuration_

        private com.google.protobuf.Duration maxStreamDuration_
      • HEADERS_WITH_UNDERSCORES_ACTION_FIELD_NUMBER

        public static final int HEADERS_WITH_UNDERSCORES_ACTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • headersWithUnderscoresAction_

        private int headersWithUnderscoresAction_
      • MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER

        public static final int MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxRequestsPerConnection_

        private com.google.protobuf.UInt32Value maxRequestsPerConnection_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • HttpProtocolOptions

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

        private HttpProtocolOptions()
    • 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
      • hasIdleTimeout

        public boolean hasIdleTimeout()
         The idle timeout for connections. The idle timeout is defined as the
         period in which there are no active requests. When the
         idle timeout is reached the connection will be closed. If the connection is an HTTP/2
         downstream connection a drain sequence will occur prior to closing the connection, see
         :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
         If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
        
         .. warning::
         Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
         FIN packets, etc.
        
         If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
         is configured, this timeout is scaled for downstream connections according to the value for
         :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_CONNECTION_IDLE>`.
         
        .google.protobuf.Duration idle_timeout = 1;
        Specified by:
        hasIdleTimeout in interface HttpProtocolOptionsOrBuilder
        Returns:
        Whether the idleTimeout field is set.
      • getIdleTimeout

        public com.google.protobuf.Duration getIdleTimeout()
         The idle timeout for connections. The idle timeout is defined as the
         period in which there are no active requests. When the
         idle timeout is reached the connection will be closed. If the connection is an HTTP/2
         downstream connection a drain sequence will occur prior to closing the connection, see
         :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
         If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
        
         .. warning::
         Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
         FIN packets, etc.
        
         If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
         is configured, this timeout is scaled for downstream connections according to the value for
         :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_CONNECTION_IDLE>`.
         
        .google.protobuf.Duration idle_timeout = 1;
        Specified by:
        getIdleTimeout in interface HttpProtocolOptionsOrBuilder
        Returns:
        The idleTimeout.
      • getIdleTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
         The idle timeout for connections. The idle timeout is defined as the
         period in which there are no active requests. When the
         idle timeout is reached the connection will be closed. If the connection is an HTTP/2
         downstream connection a drain sequence will occur prior to closing the connection, see
         :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
         If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
        
         .. warning::
         Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
         FIN packets, etc.
        
         If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
         is configured, this timeout is scaled for downstream connections according to the value for
         :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_CONNECTION_IDLE>`.
         
        .google.protobuf.Duration idle_timeout = 1;
        Specified by:
        getIdleTimeoutOrBuilder in interface HttpProtocolOptionsOrBuilder
      • hasMaxConnectionDuration

        public boolean hasMaxConnectionDuration()
         The maximum duration of a connection. The duration is defined as a period since a connection
         was established. If not set, there is no max duration. When max_connection_duration is reached
         and if there are no active streams, the connection will be closed. If the connection is a
         downstream connection and there are any active streams, the drain sequence will kick-in,
         and the connection will be force-closed after the drain period. See :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         
        .google.protobuf.Duration max_connection_duration = 3;
        Specified by:
        hasMaxConnectionDuration in interface HttpProtocolOptionsOrBuilder
        Returns:
        Whether the maxConnectionDuration field is set.
      • getMaxConnectionDuration

        public com.google.protobuf.Duration getMaxConnectionDuration()
         The maximum duration of a connection. The duration is defined as a period since a connection
         was established. If not set, there is no max duration. When max_connection_duration is reached
         and if there are no active streams, the connection will be closed. If the connection is a
         downstream connection and there are any active streams, the drain sequence will kick-in,
         and the connection will be force-closed after the drain period. See :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         
        .google.protobuf.Duration max_connection_duration = 3;
        Specified by:
        getMaxConnectionDuration in interface HttpProtocolOptionsOrBuilder
        Returns:
        The maxConnectionDuration.
      • getMaxConnectionDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getMaxConnectionDurationOrBuilder()
         The maximum duration of a connection. The duration is defined as a period since a connection
         was established. If not set, there is no max duration. When max_connection_duration is reached
         and if there are no active streams, the connection will be closed. If the connection is a
         downstream connection and there are any active streams, the drain sequence will kick-in,
         and the connection will be force-closed after the drain period. See :ref:`drain_timeout
         <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
         
        .google.protobuf.Duration max_connection_duration = 3;
        Specified by:
        getMaxConnectionDurationOrBuilder in interface HttpProtocolOptionsOrBuilder
      • hasMaxHeadersCount

        public boolean hasMaxHeadersCount()
         The maximum number of headers. If unconfigured, the default
         maximum number of request headers allowed is 100. Requests that exceed this limit will receive
         a 431 response for HTTP/1.x and cause a stream reset for HTTP/2.
         
        .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
        Specified by:
        hasMaxHeadersCount in interface HttpProtocolOptionsOrBuilder
        Returns:
        Whether the maxHeadersCount field is set.
      • getMaxHeadersCount

        public com.google.protobuf.UInt32Value getMaxHeadersCount()
         The maximum number of headers. If unconfigured, the default
         maximum number of request headers allowed is 100. Requests that exceed this limit will receive
         a 431 response for HTTP/1.x and cause a stream reset for HTTP/2.
         
        .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
        Specified by:
        getMaxHeadersCount in interface HttpProtocolOptionsOrBuilder
        Returns:
        The maxHeadersCount.
      • getMaxHeadersCountOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxHeadersCountOrBuilder()
         The maximum number of headers. If unconfigured, the default
         maximum number of request headers allowed is 100. Requests that exceed this limit will receive
         a 431 response for HTTP/1.x and cause a stream reset for HTTP/2.
         
        .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
        Specified by:
        getMaxHeadersCountOrBuilder in interface HttpProtocolOptionsOrBuilder
      • hasMaxStreamDuration

        public boolean hasMaxStreamDuration()
         Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be
         reset independent of any other timeouts. If not specified, this value is not set.
         
        .google.protobuf.Duration max_stream_duration = 4;
        Specified by:
        hasMaxStreamDuration in interface HttpProtocolOptionsOrBuilder
        Returns:
        Whether the maxStreamDuration field is set.
      • getMaxStreamDuration

        public com.google.protobuf.Duration getMaxStreamDuration()
         Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be
         reset independent of any other timeouts. If not specified, this value is not set.
         
        .google.protobuf.Duration max_stream_duration = 4;
        Specified by:
        getMaxStreamDuration in interface HttpProtocolOptionsOrBuilder
        Returns:
        The maxStreamDuration.
      • getMaxStreamDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getMaxStreamDurationOrBuilder()
         Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be
         reset independent of any other timeouts. If not specified, this value is not set.
         
        .google.protobuf.Duration max_stream_duration = 4;
        Specified by:
        getMaxStreamDurationOrBuilder in interface HttpProtocolOptionsOrBuilder
      • getHeadersWithUnderscoresActionValue

        public int getHeadersWithUnderscoresActionValue()
         Action to take when a client request with a header name containing underscore characters is received.
         If this setting is not specified, the value defaults to ALLOW.
         Note: upstream responses are not affected by this setting.
         Note: this only affects client headers. It does not affect headers added
         by Envoy filters and does not have any impact if added to cluster config.
         
        .envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction headers_with_underscores_action = 5;
        Specified by:
        getHeadersWithUnderscoresActionValue in interface HttpProtocolOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for headersWithUnderscoresAction.
      • getHeadersWithUnderscoresAction

        public HttpProtocolOptions.HeadersWithUnderscoresAction getHeadersWithUnderscoresAction()
         Action to take when a client request with a header name containing underscore characters is received.
         If this setting is not specified, the value defaults to ALLOW.
         Note: upstream responses are not affected by this setting.
         Note: this only affects client headers. It does not affect headers added
         by Envoy filters and does not have any impact if added to cluster config.
         
        .envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction headers_with_underscores_action = 5;
        Specified by:
        getHeadersWithUnderscoresAction in interface HttpProtocolOptionsOrBuilder
        Returns:
        The headersWithUnderscoresAction.
      • hasMaxRequestsPerConnection

        public boolean hasMaxRequestsPerConnection()
         Optional maximum requests for both upstream and downstream connections.
         If not specified, there is no limit.
         Setting this parameter to 1 will effectively disable keep alive.
         For HTTP/2 and HTTP/3, due to concurrent stream processing, the limit is approximate.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 6;
        Specified by:
        hasMaxRequestsPerConnection in interface HttpProtocolOptionsOrBuilder
        Returns:
        Whether the maxRequestsPerConnection field is set.
      • getMaxRequestsPerConnection

        public com.google.protobuf.UInt32Value getMaxRequestsPerConnection()
         Optional maximum requests for both upstream and downstream connections.
         If not specified, there is no limit.
         Setting this parameter to 1 will effectively disable keep alive.
         For HTTP/2 and HTTP/3, due to concurrent stream processing, the limit is approximate.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 6;
        Specified by:
        getMaxRequestsPerConnection in interface HttpProtocolOptionsOrBuilder
        Returns:
        The maxRequestsPerConnection.
      • getMaxRequestsPerConnectionOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder()
         Optional maximum requests for both upstream and downstream connections.
         If not specified, there is no limit.
         Setting this parameter to 1 will effectively disable keep alive.
         For HTTP/2 and HTTP/3, due to concurrent stream processing, the limit is approximate.
         
        .google.protobuf.UInt32Value max_requests_per_connection = 6;
        Specified by:
        getMaxRequestsPerConnectionOrBuilder in interface HttpProtocolOptionsOrBuilder
      • 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 HttpProtocolOptions parseFrom​(java.nio.ByteBuffer data)
                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public com.google.protobuf.Parser<HttpProtocolOptions> 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 HttpProtocolOptions getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder