Interface HttpProtocolOptionsOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
HttpProtocolOptions, HttpProtocolOptions.Builder

public interface HttpProtocolOptionsOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    Action to take when a client request with a header name containing underscore characters is received.
    int
    Action to take when a client request with a header name containing underscore characters is received.
    com.google.protobuf.Duration
    The idle timeout for connections.
    com.google.protobuf.DurationOrBuilder
    The idle timeout for connections.
    com.google.protobuf.Duration
    The maximum duration of a connection.
    com.google.protobuf.DurationOrBuilder
    The maximum duration of a connection.
    com.google.protobuf.UInt32Value
    The maximum number of headers (request headers if configured on HttpConnectionManager, response headers when configured on a cluster).
    com.google.protobuf.UInt32ValueOrBuilder
    The maximum number of headers (request headers if configured on HttpConnectionManager, response headers when configured on a cluster).
    com.google.protobuf.UInt32Value
    Optional maximum requests for both upstream and downstream connections.
    com.google.protobuf.UInt32ValueOrBuilder
    Optional maximum requests for both upstream and downstream connections.
    com.google.protobuf.UInt32Value
    The maximum size of response headers.
    com.google.protobuf.UInt32ValueOrBuilder
    The maximum size of response headers.
    com.google.protobuf.Duration
    Total duration to keep alive an HTTP request/response stream.
    com.google.protobuf.DurationOrBuilder
    Total duration to keep alive an HTTP request/response stream.
    boolean
    The idle timeout for connections.
    boolean
    The maximum duration of a connection.
    boolean
    The maximum number of headers (request headers if configured on HttpConnectionManager, response headers when configured on a cluster).
    boolean
    Optional maximum requests for both upstream and downstream connections.
    boolean
    The maximum size of response headers.
    boolean
    Total duration to keep alive an HTTP request/response stream.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • hasIdleTimeout

      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::
      
         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;
      Returns:
      Whether the idleTimeout field is set.
    • getIdleTimeout

      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::
      
         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;
      Returns:
      The idleTimeout.
    • getIdleTimeoutOrBuilder

      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::
      
         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;
    • hasMaxConnectionDuration

      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,
       the drain sequence will kick-in. The connection will be closed after the drain timeout period
       if there are no active streams. 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;
      Returns:
      Whether the maxConnectionDuration field is set.
    • getMaxConnectionDuration

      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,
       the drain sequence will kick-in. The connection will be closed after the drain timeout period
       if there are no active streams. 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;
      Returns:
      The maxConnectionDuration.
    • getMaxConnectionDurationOrBuilder

      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,
       the drain sequence will kick-in. The connection will be closed after the drain timeout period
       if there are no active streams. 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;
    • hasMaxHeadersCount

      boolean hasMaxHeadersCount()
       The maximum number of headers (request headers if configured on HttpConnectionManager,
       response headers when configured on a cluster).
       If unconfigured, the default maximum number of headers allowed is ``100``.
       The default value for requests can be overridden by setting runtime key ``envoy.reloadable_features.max_request_headers_count``.
       The default value for responses can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_count``.
       Downstream requests that exceed this limit will receive a ``HTTP 431`` response for HTTP/1.x and cause a stream
       reset for HTTP/2.
       Upstream responses that exceed this limit will result in a ``HTTP 502`` response.
       
      .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
      Returns:
      Whether the maxHeadersCount field is set.
    • getMaxHeadersCount

      com.google.protobuf.UInt32Value getMaxHeadersCount()
       The maximum number of headers (request headers if configured on HttpConnectionManager,
       response headers when configured on a cluster).
       If unconfigured, the default maximum number of headers allowed is ``100``.
       The default value for requests can be overridden by setting runtime key ``envoy.reloadable_features.max_request_headers_count``.
       The default value for responses can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_count``.
       Downstream requests that exceed this limit will receive a ``HTTP 431`` response for HTTP/1.x and cause a stream
       reset for HTTP/2.
       Upstream responses that exceed this limit will result in a ``HTTP 502`` response.
       
      .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
      Returns:
      The maxHeadersCount.
    • getMaxHeadersCountOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxHeadersCountOrBuilder()
       The maximum number of headers (request headers if configured on HttpConnectionManager,
       response headers when configured on a cluster).
       If unconfigured, the default maximum number of headers allowed is ``100``.
       The default value for requests can be overridden by setting runtime key ``envoy.reloadable_features.max_request_headers_count``.
       The default value for responses can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_count``.
       Downstream requests that exceed this limit will receive a ``HTTP 431`` response for HTTP/1.x and cause a stream
       reset for HTTP/2.
       Upstream responses that exceed this limit will result in a ``HTTP 502`` response.
       
      .google.protobuf.UInt32Value max_headers_count = 2 [(.validate.rules) = { ... }
    • hasMaxResponseHeadersKb

      boolean hasMaxResponseHeadersKb()
       The maximum size of response headers.
       If unconfigured, the default is ``60 KiB``, except for HTTP/1 response headers which have a default
       of ``80 KiB``.
       The default value can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_size_kb``.
       Responses that exceed this limit will result in a ``HTTP 503`` response.
       In Envoy, this setting is only valid when configured on an upstream cluster, not on the
       :ref:`HTTP Connection Manager
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options>`.
      
       .. note::
      
         Currently some protocol codecs impose limits on the maximum size of a single header.
      
         * HTTP/2 (when using ``nghttp2``) limits a single header to around ``100kb``.
         * HTTP/3 limits a single header to around ``1024kb``.
       
      .google.protobuf.UInt32Value max_response_headers_kb = 7 [(.validate.rules) = { ... }
      Returns:
      Whether the maxResponseHeadersKb field is set.
    • getMaxResponseHeadersKb

      com.google.protobuf.UInt32Value getMaxResponseHeadersKb()
       The maximum size of response headers.
       If unconfigured, the default is ``60 KiB``, except for HTTP/1 response headers which have a default
       of ``80 KiB``.
       The default value can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_size_kb``.
       Responses that exceed this limit will result in a ``HTTP 503`` response.
       In Envoy, this setting is only valid when configured on an upstream cluster, not on the
       :ref:`HTTP Connection Manager
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options>`.
      
       .. note::
      
         Currently some protocol codecs impose limits on the maximum size of a single header.
      
         * HTTP/2 (when using ``nghttp2``) limits a single header to around ``100kb``.
         * HTTP/3 limits a single header to around ``1024kb``.
       
      .google.protobuf.UInt32Value max_response_headers_kb = 7 [(.validate.rules) = { ... }
      Returns:
      The maxResponseHeadersKb.
    • getMaxResponseHeadersKbOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxResponseHeadersKbOrBuilder()
       The maximum size of response headers.
       If unconfigured, the default is ``60 KiB``, except for HTTP/1 response headers which have a default
       of ``80 KiB``.
       The default value can be overridden by setting runtime key ``envoy.reloadable_features.max_response_headers_size_kb``.
       Responses that exceed this limit will result in a ``HTTP 503`` response.
       In Envoy, this setting is only valid when configured on an upstream cluster, not on the
       :ref:`HTTP Connection Manager
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options>`.
      
       .. note::
      
         Currently some protocol codecs impose limits on the maximum size of a single header.
      
         * HTTP/2 (when using ``nghttp2``) limits a single header to around ``100kb``.
         * HTTP/3 limits a single header to around ``1024kb``.
       
      .google.protobuf.UInt32Value max_response_headers_kb = 7 [(.validate.rules) = { ... }
    • hasMaxStreamDuration

      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;
      Returns:
      Whether the maxStreamDuration field is set.
    • getMaxStreamDuration

      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;
      Returns:
      The maxStreamDuration.
    • getMaxStreamDurationOrBuilder

      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;
    • getHeadersWithUnderscoresActionValue

      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;
      Returns:
      The enum numeric value on the wire for headersWithUnderscoresAction.
    • getHeadersWithUnderscoresAction

      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;
      Returns:
      The headersWithUnderscoresAction.
    • hasMaxRequestsPerConnection

      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;
      Returns:
      Whether the maxRequestsPerConnection field is set.
    • getMaxRequestsPerConnection

      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;
      Returns:
      The maxRequestsPerConnection.
    • getMaxRequestsPerConnectionOrBuilder

      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;