Interface HttpConnectionManagerOrBuilder

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

public interface HttpConnectionManagerOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • getCodecTypeValue

      int getCodecTypeValue()
       Supplies the type of codec that the connection manager should use.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType codec_type = 1 [(.validate.rules) = { ... }
      Returns:
      The enum numeric value on the wire for codecType.
    • getCodecType

       Supplies the type of codec that the connection manager should use.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType codec_type = 1 [(.validate.rules) = { ... }
      Returns:
      The codecType.
    • getStatPrefix

      String getStatPrefix()
       The human readable prefix to use when emitting statistics for the
       connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for
       more information.
       
      string stat_prefix = 2 [(.validate.rules) = { ... }
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      com.google.protobuf.ByteString getStatPrefixBytes()
       The human readable prefix to use when emitting statistics for the
       connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for
       more information.
       
      string stat_prefix = 2 [(.validate.rules) = { ... }
      Returns:
      The bytes for statPrefix.
    • hasRds

      boolean hasRds()
       The connection manager’s route table will be dynamically loaded via the RDS API.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.Rds rds = 3;
      Returns:
      Whether the rds field is set.
    • getRds

      Rds getRds()
       The connection manager’s route table will be dynamically loaded via the RDS API.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.Rds rds = 3;
      Returns:
      The rds.
    • getRdsOrBuilder

      RdsOrBuilder getRdsOrBuilder()
       The connection manager’s route table will be dynamically loaded via the RDS API.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.Rds rds = 3;
    • hasRouteConfig

      boolean hasRouteConfig()
       The route table for the connection manager is static and is specified in this property.
       
      .envoy.config.route.v3.RouteConfiguration route_config = 4;
      Returns:
      Whether the routeConfig field is set.
    • getRouteConfig

      RouteConfiguration getRouteConfig()
       The route table for the connection manager is static and is specified in this property.
       
      .envoy.config.route.v3.RouteConfiguration route_config = 4;
      Returns:
      The routeConfig.
    • getRouteConfigOrBuilder

      RouteConfigurationOrBuilder getRouteConfigOrBuilder()
       The route table for the connection manager is static and is specified in this property.
       
      .envoy.config.route.v3.RouteConfiguration route_config = 4;
    • hasScopedRoutes

      boolean hasScopedRoutes()
       A route table will be dynamically assigned to each request based on request attributes
       (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are
       specified in this message.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes scoped_routes = 31;
      Returns:
      Whether the scopedRoutes field is set.
    • getScopedRoutes

      ScopedRoutes getScopedRoutes()
       A route table will be dynamically assigned to each request based on request attributes
       (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are
       specified in this message.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes scoped_routes = 31;
      Returns:
      The scopedRoutes.
    • getScopedRoutesOrBuilder

      ScopedRoutesOrBuilder getScopedRoutesOrBuilder()
       A route table will be dynamically assigned to each request based on request attributes
       (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are
       specified in this message.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes scoped_routes = 31;
    • getHttpFiltersList

      List<HttpFilter> getHttpFiltersList()
       A list of individual HTTP filters that make up the filter chain for
       requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
       as the filters are processed sequentially as request events happen.
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 5;
    • getHttpFilters

      HttpFilter getHttpFilters(int index)
       A list of individual HTTP filters that make up the filter chain for
       requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
       as the filters are processed sequentially as request events happen.
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 5;
    • getHttpFiltersCount

      int getHttpFiltersCount()
       A list of individual HTTP filters that make up the filter chain for
       requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
       as the filters are processed sequentially as request events happen.
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 5;
    • getHttpFiltersOrBuilderList

      List<? extends HttpFilterOrBuilder> getHttpFiltersOrBuilderList()
       A list of individual HTTP filters that make up the filter chain for
       requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
       as the filters are processed sequentially as request events happen.
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 5;
    • getHttpFiltersOrBuilder

      HttpFilterOrBuilder getHttpFiltersOrBuilder(int index)
       A list of individual HTTP filters that make up the filter chain for
       requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
       as the filters are processed sequentially as request events happen.
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 5;
    • hasAddUserAgent

      boolean hasAddUserAgent()
       Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent`
       and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked
       documentation for more information. Defaults to false.
       
      .google.protobuf.BoolValue add_user_agent = 6;
      Returns:
      Whether the addUserAgent field is set.
    • getAddUserAgent

      com.google.protobuf.BoolValue getAddUserAgent()
       Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent`
       and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked
       documentation for more information. Defaults to false.
       
      .google.protobuf.BoolValue add_user_agent = 6;
      Returns:
      The addUserAgent.
    • getAddUserAgentOrBuilder

      com.google.protobuf.BoolValueOrBuilder getAddUserAgentOrBuilder()
       Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent`
       and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked
       documentation for more information. Defaults to false.
       
      .google.protobuf.BoolValue add_user_agent = 6;
    • hasTracing

      boolean hasTracing()
       Presence of the object defines whether the connection manager
       emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
       <envoy_v3_api_msg_config.trace.v3.Tracing>`.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing tracing = 7;
      Returns:
      Whether the tracing field is set.
    • getTracing

       Presence of the object defines whether the connection manager
       emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
       <envoy_v3_api_msg_config.trace.v3.Tracing>`.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing tracing = 7;
      Returns:
      The tracing.
    • getTracingOrBuilder

       Presence of the object defines whether the connection manager
       emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
       <envoy_v3_api_msg_config.trace.v3.Tracing>`.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing tracing = 7;
    • hasCommonHttpProtocolOptions

      boolean hasCommonHttpProtocolOptions()
       Additional settings for HTTP requests handled by the connection manager. These will be
       applicable to both HTTP1 and HTTP2 requests.
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 35 [(.udpa.annotations.security) = { ... }
      Returns:
      Whether the commonHttpProtocolOptions field is set.
    • getCommonHttpProtocolOptions

      HttpProtocolOptions getCommonHttpProtocolOptions()
       Additional settings for HTTP requests handled by the connection manager. These will be
       applicable to both HTTP1 and HTTP2 requests.
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 35 [(.udpa.annotations.security) = { ... }
      Returns:
      The commonHttpProtocolOptions.
    • getCommonHttpProtocolOptionsOrBuilder

      HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
       Additional settings for HTTP requests handled by the connection manager. These will be
       applicable to both HTTP1 and HTTP2 requests.
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 35 [(.udpa.annotations.security) = { ... }
    • hasHttpProtocolOptions

      boolean hasHttpProtocolOptions()
       Additional HTTP/1 settings that are passed to the HTTP/1 codec.
       [#comment:TODO: The following fields are 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:
       1. :ref:`allow_chunked_length <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.allow_chunked_length>`]
       
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 8;
      Returns:
      Whether the httpProtocolOptions field is set.
    • getHttpProtocolOptions

      Http1ProtocolOptions getHttpProtocolOptions()
       Additional HTTP/1 settings that are passed to the HTTP/1 codec.
       [#comment:TODO: The following fields are 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:
       1. :ref:`allow_chunked_length <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.allow_chunked_length>`]
       
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 8;
      Returns:
      The httpProtocolOptions.
    • getHttpProtocolOptionsOrBuilder

      Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder()
       Additional HTTP/1 settings that are passed to the HTTP/1 codec.
       [#comment:TODO: The following fields are 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:
       1. :ref:`allow_chunked_length <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.allow_chunked_length>`]
       
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 8;
    • hasHttp2ProtocolOptions

      boolean hasHttp2ProtocolOptions()
       Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 9 [(.udpa.annotations.security) = { ... }
      Returns:
      Whether the http2ProtocolOptions field is set.
    • getHttp2ProtocolOptions

      Http2ProtocolOptions getHttp2ProtocolOptions()
       Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 9 [(.udpa.annotations.security) = { ... }
      Returns:
      The http2ProtocolOptions.
    • getHttp2ProtocolOptionsOrBuilder

      Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
       Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
       
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 9 [(.udpa.annotations.security) = { ... }
    • hasHttp3ProtocolOptions

      boolean hasHttp3ProtocolOptions()
       Additional HTTP/3 settings that are passed directly to the HTTP/3 codec.
       [#not-implemented-hide:]
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 44;
      Returns:
      Whether the http3ProtocolOptions field is set.
    • getHttp3ProtocolOptions

      Http3ProtocolOptions getHttp3ProtocolOptions()
       Additional HTTP/3 settings that are passed directly to the HTTP/3 codec.
       [#not-implemented-hide:]
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 44;
      Returns:
      The http3ProtocolOptions.
    • getHttp3ProtocolOptionsOrBuilder

      Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder()
       Additional HTTP/3 settings that are passed directly to the HTTP/3 codec.
       [#not-implemented-hide:]
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 44;
    • getServerName

      String getServerName()
       An optional override that the connection manager will write to the server
       header in responses. If not set, the default is ``envoy``.
       
      string server_name = 10 [(.validate.rules) = { ... }
      Returns:
      The serverName.
    • getServerNameBytes

      com.google.protobuf.ByteString getServerNameBytes()
       An optional override that the connection manager will write to the server
       header in responses. If not set, the default is ``envoy``.
       
      string server_name = 10 [(.validate.rules) = { ... }
      Returns:
      The bytes for serverName.
    • getServerHeaderTransformationValue

      int getServerHeaderTransformationValue()
       Defines the action to be applied to the Server header on the response path.
       By default, Envoy will overwrite the header with the value specified in
       server_name.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation server_header_transformation = 34 [(.validate.rules) = { ... }
      Returns:
      The enum numeric value on the wire for serverHeaderTransformation.
    • getServerHeaderTransformation

      HttpConnectionManager.ServerHeaderTransformation getServerHeaderTransformation()
       Defines the action to be applied to the Server header on the response path.
       By default, Envoy will overwrite the header with the value specified in
       server_name.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation server_header_transformation = 34 [(.validate.rules) = { ... }
      Returns:
      The serverHeaderTransformation.
    • hasSchemeHeaderTransformation

      boolean hasSchemeHeaderTransformation()
       Allows for explicit transformation of the :scheme header on the request path.
       If not set, Envoy's default :ref:`scheme  <config_http_conn_man_headers_scheme>`
       handling applies.
       
      .envoy.config.core.v3.SchemeHeaderTransformation scheme_header_transformation = 48;
      Returns:
      Whether the schemeHeaderTransformation field is set.
    • getSchemeHeaderTransformation

      SchemeHeaderTransformation getSchemeHeaderTransformation()
       Allows for explicit transformation of the :scheme header on the request path.
       If not set, Envoy's default :ref:`scheme  <config_http_conn_man_headers_scheme>`
       handling applies.
       
      .envoy.config.core.v3.SchemeHeaderTransformation scheme_header_transformation = 48;
      Returns:
      The schemeHeaderTransformation.
    • getSchemeHeaderTransformationOrBuilder

      SchemeHeaderTransformationOrBuilder getSchemeHeaderTransformationOrBuilder()
       Allows for explicit transformation of the :scheme header on the request path.
       If not set, Envoy's default :ref:`scheme  <config_http_conn_man_headers_scheme>`
       handling applies.
       
      .envoy.config.core.v3.SchemeHeaderTransformation scheme_header_transformation = 48;
    • hasMaxRequestHeadersKb

      boolean hasMaxRequestHeadersKb()
       The maximum request headers size for incoming connections.
       If unconfigured, the default max request headers allowed is 60 KiB.
       Requests that exceed this limit will receive a 431 response.
       
      .google.protobuf.UInt32Value max_request_headers_kb = 29 [(.validate.rules) = { ... }
      Returns:
      Whether the maxRequestHeadersKb field is set.
    • getMaxRequestHeadersKb

      com.google.protobuf.UInt32Value getMaxRequestHeadersKb()
       The maximum request headers size for incoming connections.
       If unconfigured, the default max request headers allowed is 60 KiB.
       Requests that exceed this limit will receive a 431 response.
       
      .google.protobuf.UInt32Value max_request_headers_kb = 29 [(.validate.rules) = { ... }
      Returns:
      The maxRequestHeadersKb.
    • getMaxRequestHeadersKbOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getMaxRequestHeadersKbOrBuilder()
       The maximum request headers size for incoming connections.
       If unconfigured, the default max request headers allowed is 60 KiB.
       Requests that exceed this limit will receive a 431 response.
       
      .google.protobuf.UInt32Value max_request_headers_kb = 29 [(.validate.rules) = { ... }
    • hasStreamIdleTimeout

      boolean hasStreamIdleTimeout()
       The stream idle timeout for connections managed by the connection manager.
       If not specified, this defaults to 5 minutes. The default value was selected
       so as not to interfere with any smaller configured timeouts that may have
       existed in configurations prior to the introduction of this feature, while
       introducing robustness to TCP connections that terminate without a FIN.
      
       This idle timeout applies to new streams and is overridable by the
       :ref:`route-level idle_timeout
       <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>`. Even on a stream in
       which the override applies, prior to receipt of the initial request
       headers, the :ref:`stream_idle_timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       applies. Each time an encode/decode event for headers or data is processed
       for the stream, the timer will be reset. If the timeout fires, the stream
       is terminated with a 408 Request Timeout error code if no upstream response
       header has been received, otherwise a stream reset occurs.
      
       This timeout also specifies the amount of time that Envoy will wait for the peer to open enough
       window to write any remaining stream data once the entirety of stream data (local end stream is
       true) has been buffered pending available window. In other words, this timeout defends against
       a peer that does not release enough window to completely write the stream, even though all
       data has been proxied within available flow control windows. If the timeout is hit in this
       case, the :ref:`tx_flush_timeout <config_http_conn_man_stats_per_codec>` counter will be
       incremented. Note that :ref:`max_stream_duration
       <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` does not apply to
       this corner case.
      
       If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
       is configured, this timeout is scaled according to the value for
       :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
      
       Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due
       to the granularity of events presented to the connection manager. For example, while receiving
       very large request headers, it may be the case that there is traffic regularly arriving on the
       wire while the connection manage is only able to observe the end-of-headers event, hence the
       stream may still idle timeout.
      
       A value of 0 will completely disable the connection manager stream idle
       timeout, although per-route idle timeout overrides will continue to apply.
       
      .google.protobuf.Duration stream_idle_timeout = 24 [(.udpa.annotations.security) = { ... }
      Returns:
      Whether the streamIdleTimeout field is set.
    • getStreamIdleTimeout

      com.google.protobuf.Duration getStreamIdleTimeout()
       The stream idle timeout for connections managed by the connection manager.
       If not specified, this defaults to 5 minutes. The default value was selected
       so as not to interfere with any smaller configured timeouts that may have
       existed in configurations prior to the introduction of this feature, while
       introducing robustness to TCP connections that terminate without a FIN.
      
       This idle timeout applies to new streams and is overridable by the
       :ref:`route-level idle_timeout
       <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>`. Even on a stream in
       which the override applies, prior to receipt of the initial request
       headers, the :ref:`stream_idle_timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       applies. Each time an encode/decode event for headers or data is processed
       for the stream, the timer will be reset. If the timeout fires, the stream
       is terminated with a 408 Request Timeout error code if no upstream response
       header has been received, otherwise a stream reset occurs.
      
       This timeout also specifies the amount of time that Envoy will wait for the peer to open enough
       window to write any remaining stream data once the entirety of stream data (local end stream is
       true) has been buffered pending available window. In other words, this timeout defends against
       a peer that does not release enough window to completely write the stream, even though all
       data has been proxied within available flow control windows. If the timeout is hit in this
       case, the :ref:`tx_flush_timeout <config_http_conn_man_stats_per_codec>` counter will be
       incremented. Note that :ref:`max_stream_duration
       <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` does not apply to
       this corner case.
      
       If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
       is configured, this timeout is scaled according to the value for
       :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
      
       Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due
       to the granularity of events presented to the connection manager. For example, while receiving
       very large request headers, it may be the case that there is traffic regularly arriving on the
       wire while the connection manage is only able to observe the end-of-headers event, hence the
       stream may still idle timeout.
      
       A value of 0 will completely disable the connection manager stream idle
       timeout, although per-route idle timeout overrides will continue to apply.
       
      .google.protobuf.Duration stream_idle_timeout = 24 [(.udpa.annotations.security) = { ... }
      Returns:
      The streamIdleTimeout.
    • getStreamIdleTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getStreamIdleTimeoutOrBuilder()
       The stream idle timeout for connections managed by the connection manager.
       If not specified, this defaults to 5 minutes. The default value was selected
       so as not to interfere with any smaller configured timeouts that may have
       existed in configurations prior to the introduction of this feature, while
       introducing robustness to TCP connections that terminate without a FIN.
      
       This idle timeout applies to new streams and is overridable by the
       :ref:`route-level idle_timeout
       <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>`. Even on a stream in
       which the override applies, prior to receipt of the initial request
       headers, the :ref:`stream_idle_timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       applies. Each time an encode/decode event for headers or data is processed
       for the stream, the timer will be reset. If the timeout fires, the stream
       is terminated with a 408 Request Timeout error code if no upstream response
       header has been received, otherwise a stream reset occurs.
      
       This timeout also specifies the amount of time that Envoy will wait for the peer to open enough
       window to write any remaining stream data once the entirety of stream data (local end stream is
       true) has been buffered pending available window. In other words, this timeout defends against
       a peer that does not release enough window to completely write the stream, even though all
       data has been proxied within available flow control windows. If the timeout is hit in this
       case, the :ref:`tx_flush_timeout <config_http_conn_man_stats_per_codec>` counter will be
       incremented. Note that :ref:`max_stream_duration
       <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` does not apply to
       this corner case.
      
       If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
       is configured, this timeout is scaled according to the value for
       :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
      
       Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due
       to the granularity of events presented to the connection manager. For example, while receiving
       very large request headers, it may be the case that there is traffic regularly arriving on the
       wire while the connection manage is only able to observe the end-of-headers event, hence the
       stream may still idle timeout.
      
       A value of 0 will completely disable the connection manager stream idle
       timeout, although per-route idle timeout overrides will continue to apply.
       
      .google.protobuf.Duration stream_idle_timeout = 24 [(.udpa.annotations.security) = { ... }
    • hasRequestTimeout

      boolean hasRequestTimeout()
       The amount of time that Envoy will wait for the entire request to be received.
       The timer is activated when the request is initiated, and is disarmed when the last byte of the
       request is sent upstream (i.e. all decoding filters have processed the request), OR when the
       response is initiated. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_timeout = 28 [(.udpa.annotations.security) = { ... }
      Returns:
      Whether the requestTimeout field is set.
    • getRequestTimeout

      com.google.protobuf.Duration getRequestTimeout()
       The amount of time that Envoy will wait for the entire request to be received.
       The timer is activated when the request is initiated, and is disarmed when the last byte of the
       request is sent upstream (i.e. all decoding filters have processed the request), OR when the
       response is initiated. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_timeout = 28 [(.udpa.annotations.security) = { ... }
      Returns:
      The requestTimeout.
    • getRequestTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getRequestTimeoutOrBuilder()
       The amount of time that Envoy will wait for the entire request to be received.
       The timer is activated when the request is initiated, and is disarmed when the last byte of the
       request is sent upstream (i.e. all decoding filters have processed the request), OR when the
       response is initiated. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_timeout = 28 [(.udpa.annotations.security) = { ... }
    • hasRequestHeadersTimeout

      boolean hasRequestHeadersTimeout()
       The amount of time that Envoy will wait for the request headers to be received. The timer is
       activated when the first byte of the headers is received, and is disarmed when the last byte of
       the headers has been received. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_headers_timeout = 41 [(.validate.rules) = { ... }
      Returns:
      Whether the requestHeadersTimeout field is set.
    • getRequestHeadersTimeout

      com.google.protobuf.Duration getRequestHeadersTimeout()
       The amount of time that Envoy will wait for the request headers to be received. The timer is
       activated when the first byte of the headers is received, and is disarmed when the last byte of
       the headers has been received. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_headers_timeout = 41 [(.validate.rules) = { ... }
      Returns:
      The requestHeadersTimeout.
    • getRequestHeadersTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getRequestHeadersTimeoutOrBuilder()
       The amount of time that Envoy will wait for the request headers to be received. The timer is
       activated when the first byte of the headers is received, and is disarmed when the last byte of
       the headers has been received. If not specified or set to 0, this timeout is disabled.
       
      .google.protobuf.Duration request_headers_timeout = 41 [(.validate.rules) = { ... }
    • hasDrainTimeout

      boolean hasDrainTimeout()
       The time that Envoy will wait between sending an HTTP/2 “shutdown
       notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame.
       This is used so that Envoy provides a grace period for new streams that
       race with the final GOAWAY frame. During this grace period, Envoy will
       continue to accept new streams. After the grace period, a final GOAWAY
       frame is sent and Envoy will start refusing new streams. Draining occurs
       both when a connection hits the idle timeout or during general server
       draining. The default grace period is 5000 milliseconds (5 seconds) if this
       option is not specified.
       
      .google.protobuf.Duration drain_timeout = 12;
      Returns:
      Whether the drainTimeout field is set.
    • getDrainTimeout

      com.google.protobuf.Duration getDrainTimeout()
       The time that Envoy will wait between sending an HTTP/2 “shutdown
       notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame.
       This is used so that Envoy provides a grace period for new streams that
       race with the final GOAWAY frame. During this grace period, Envoy will
       continue to accept new streams. After the grace period, a final GOAWAY
       frame is sent and Envoy will start refusing new streams. Draining occurs
       both when a connection hits the idle timeout or during general server
       draining. The default grace period is 5000 milliseconds (5 seconds) if this
       option is not specified.
       
      .google.protobuf.Duration drain_timeout = 12;
      Returns:
      The drainTimeout.
    • getDrainTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getDrainTimeoutOrBuilder()
       The time that Envoy will wait between sending an HTTP/2 “shutdown
       notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame.
       This is used so that Envoy provides a grace period for new streams that
       race with the final GOAWAY frame. During this grace period, Envoy will
       continue to accept new streams. After the grace period, a final GOAWAY
       frame is sent and Envoy will start refusing new streams. Draining occurs
       both when a connection hits the idle timeout or during general server
       draining. The default grace period is 5000 milliseconds (5 seconds) if this
       option is not specified.
       
      .google.protobuf.Duration drain_timeout = 12;
    • hasDelayedCloseTimeout

      boolean hasDelayedCloseTimeout()
       The delayed close timeout is for downstream connections managed by the HTTP connection manager.
       It is defined as a grace period after connection close processing has been locally initiated
       during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy
       from the downstream connection) prior to Envoy closing the socket associated with that
       connection.
       NOTE: This timeout is enforced even when the socket associated with the downstream connection
       is pending a flush of the write buffer. However, any progress made writing data to the socket
       will restart the timer associated with this timeout. This means that the total grace period for
       a socket in this state will be
       <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>.
      
       Delaying Envoy's connection close and giving the peer the opportunity to initiate the close
       sequence mitigates a race condition that exists when downstream clients do not drain/process
       data in a connection's receive buffer after a remote close has been detected via a socket
       write(). This race leads to such clients failing to process the response code sent by Envoy,
       which could result in erroneous downstream processing.
      
       If the timeout triggers, Envoy will close the connection's socket.
      
       The default timeout is 1000 ms if this option is not specified.
      
       .. NOTE::
       To be useful in avoiding the race condition described above, this timeout must be set
       to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for
       a reasonable "worst" case processing time for a full iteration of Envoy's event loop>.
      
       .. WARNING::
       A value of 0 will completely disable delayed close processing. When disabled, the downstream
       connection's socket will be closed immediately after the write flush is completed or will
       never close if the write flush does not complete.
       
      .google.protobuf.Duration delayed_close_timeout = 26;
      Returns:
      Whether the delayedCloseTimeout field is set.
    • getDelayedCloseTimeout

      com.google.protobuf.Duration getDelayedCloseTimeout()
       The delayed close timeout is for downstream connections managed by the HTTP connection manager.
       It is defined as a grace period after connection close processing has been locally initiated
       during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy
       from the downstream connection) prior to Envoy closing the socket associated with that
       connection.
       NOTE: This timeout is enforced even when the socket associated with the downstream connection
       is pending a flush of the write buffer. However, any progress made writing data to the socket
       will restart the timer associated with this timeout. This means that the total grace period for
       a socket in this state will be
       <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>.
      
       Delaying Envoy's connection close and giving the peer the opportunity to initiate the close
       sequence mitigates a race condition that exists when downstream clients do not drain/process
       data in a connection's receive buffer after a remote close has been detected via a socket
       write(). This race leads to such clients failing to process the response code sent by Envoy,
       which could result in erroneous downstream processing.
      
       If the timeout triggers, Envoy will close the connection's socket.
      
       The default timeout is 1000 ms if this option is not specified.
      
       .. NOTE::
       To be useful in avoiding the race condition described above, this timeout must be set
       to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for
       a reasonable "worst" case processing time for a full iteration of Envoy's event loop>.
      
       .. WARNING::
       A value of 0 will completely disable delayed close processing. When disabled, the downstream
       connection's socket will be closed immediately after the write flush is completed or will
       never close if the write flush does not complete.
       
      .google.protobuf.Duration delayed_close_timeout = 26;
      Returns:
      The delayedCloseTimeout.
    • getDelayedCloseTimeoutOrBuilder

      com.google.protobuf.DurationOrBuilder getDelayedCloseTimeoutOrBuilder()
       The delayed close timeout is for downstream connections managed by the HTTP connection manager.
       It is defined as a grace period after connection close processing has been locally initiated
       during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy
       from the downstream connection) prior to Envoy closing the socket associated with that
       connection.
       NOTE: This timeout is enforced even when the socket associated with the downstream connection
       is pending a flush of the write buffer. However, any progress made writing data to the socket
       will restart the timer associated with this timeout. This means that the total grace period for
       a socket in this state will be
       <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>.
      
       Delaying Envoy's connection close and giving the peer the opportunity to initiate the close
       sequence mitigates a race condition that exists when downstream clients do not drain/process
       data in a connection's receive buffer after a remote close has been detected via a socket
       write(). This race leads to such clients failing to process the response code sent by Envoy,
       which could result in erroneous downstream processing.
      
       If the timeout triggers, Envoy will close the connection's socket.
      
       The default timeout is 1000 ms if this option is not specified.
      
       .. NOTE::
       To be useful in avoiding the race condition described above, this timeout must be set
       to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for
       a reasonable "worst" case processing time for a full iteration of Envoy's event loop>.
      
       .. WARNING::
       A value of 0 will completely disable delayed close processing. When disabled, the downstream
       connection's socket will be closed immediately after the write flush is completed or will
       never close if the write flush does not complete.
       
      .google.protobuf.Duration delayed_close_timeout = 26;
    • getAccessLogList

      List<AccessLog> getAccessLogList()
       Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
       emitted by the connection manager.
       
      repeated .envoy.config.accesslog.v3.AccessLog access_log = 13;
    • getAccessLog

      AccessLog getAccessLog(int index)
       Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
       emitted by the connection manager.
       
      repeated .envoy.config.accesslog.v3.AccessLog access_log = 13;
    • getAccessLogCount

      int getAccessLogCount()
       Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
       emitted by the connection manager.
       
      repeated .envoy.config.accesslog.v3.AccessLog access_log = 13;
    • getAccessLogOrBuilderList

      List<? extends AccessLogOrBuilder> getAccessLogOrBuilderList()
       Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
       emitted by the connection manager.
       
      repeated .envoy.config.accesslog.v3.AccessLog access_log = 13;
    • getAccessLogOrBuilder

      AccessLogOrBuilder getAccessLogOrBuilder(int index)
       Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
       emitted by the connection manager.
       
      repeated .envoy.config.accesslog.v3.AccessLog access_log = 13;
    • hasAccessLogFlushInterval

      @Deprecated boolean hasAccessLogFlushInterval()
      Deprecated.
      envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_flush_interval is deprecated. See envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto;l=597
       .. attention::
       This field is deprecated in favor of
       :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`.
       Note that if both this field and :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`
       are specified, the former (deprecated field) is ignored.
       
      .google.protobuf.Duration access_log_flush_interval = 54 [deprecated = true, (.validate.rules) = { ... }
      Returns:
      Whether the accessLogFlushInterval field is set.
    • getAccessLogFlushInterval

      @Deprecated com.google.protobuf.Duration getAccessLogFlushInterval()
      Deprecated.
      envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_flush_interval is deprecated. See envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto;l=597
       .. attention::
       This field is deprecated in favor of
       :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`.
       Note that if both this field and :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`
       are specified, the former (deprecated field) is ignored.
       
      .google.protobuf.Duration access_log_flush_interval = 54 [deprecated = true, (.validate.rules) = { ... }
      Returns:
      The accessLogFlushInterval.
    • getAccessLogFlushIntervalOrBuilder

      @Deprecated com.google.protobuf.DurationOrBuilder getAccessLogFlushIntervalOrBuilder()
      Deprecated.
       .. attention::
       This field is deprecated in favor of
       :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`.
       Note that if both this field and :ref:`access_log_flush_interval
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`
       are specified, the former (deprecated field) is ignored.
       
      .google.protobuf.Duration access_log_flush_interval = 54 [deprecated = true, (.validate.rules) = { ... }
    • getFlushAccessLogOnNewRequest

      @Deprecated boolean getFlushAccessLogOnNewRequest()
      Deprecated.
      envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.flush_access_log_on_new_request is deprecated. See envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto;l=610
       .. attention::
       This field is deprecated in favor of
       :ref:`flush_access_log_on_new_request
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.flush_access_log_on_new_request>`.
       Note that if both this field and :ref:`flush_access_log_on_new_request
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.flush_access_log_on_new_request>`
       are specified, the former (deprecated field) is ignored.
       
      bool flush_access_log_on_new_request = 55 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Returns:
      The flushAccessLogOnNewRequest.
    • hasAccessLogOptions

      boolean hasAccessLogOptions()
       Additional access log options for HTTP connection manager.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions access_log_options = 56;
      Returns:
      Whether the accessLogOptions field is set.
    • getAccessLogOptions

       Additional access log options for HTTP connection manager.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions access_log_options = 56;
      Returns:
      The accessLogOptions.
    • getAccessLogOptionsOrBuilder

       Additional access log options for HTTP connection manager.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions access_log_options = 56;
    • hasUseRemoteAddress

      boolean hasUseRemoteAddress()
       If set to true, the connection manager will use the real remote address
       of the client connection when determining internal versus external origin and manipulating
       various headers. If set to false or absent, the connection manager will use the
       :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for
       :ref:`config_http_conn_man_headers_x-forwarded-for`,
       :ref:`config_http_conn_man_headers_x-envoy-internal`, and
       :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information.
       
      .google.protobuf.BoolValue use_remote_address = 14 [(.udpa.annotations.security) = { ... }
      Returns:
      Whether the useRemoteAddress field is set.
    • getUseRemoteAddress

      com.google.protobuf.BoolValue getUseRemoteAddress()
       If set to true, the connection manager will use the real remote address
       of the client connection when determining internal versus external origin and manipulating
       various headers. If set to false or absent, the connection manager will use the
       :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for
       :ref:`config_http_conn_man_headers_x-forwarded-for`,
       :ref:`config_http_conn_man_headers_x-envoy-internal`, and
       :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information.
       
      .google.protobuf.BoolValue use_remote_address = 14 [(.udpa.annotations.security) = { ... }
      Returns:
      The useRemoteAddress.
    • getUseRemoteAddressOrBuilder

      com.google.protobuf.BoolValueOrBuilder getUseRemoteAddressOrBuilder()
       If set to true, the connection manager will use the real remote address
       of the client connection when determining internal versus external origin and manipulating
       various headers. If set to false or absent, the connection manager will use the
       :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for
       :ref:`config_http_conn_man_headers_x-forwarded-for`,
       :ref:`config_http_conn_man_headers_x-envoy-internal`, and
       :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information.
       
      .google.protobuf.BoolValue use_remote_address = 14 [(.udpa.annotations.security) = { ... }
    • getXffNumTrustedHops

      int getXffNumTrustedHops()
       The number of additional ingress proxy hops from the right side of the
       :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when
       determining the origin client's IP address. The default is zero if this option
       is not specified. See the documentation for
       :ref:`config_http_conn_man_headers_x-forwarded-for` for more information.
       
      uint32 xff_num_trusted_hops = 19;
      Returns:
      The xffNumTrustedHops.
    • getOriginalIpDetectionExtensionsList

      List<TypedExtensionConfig> getOriginalIpDetectionExtensionsList()
       The configuration for the original IP detection extensions.
      
       When configured the extensions will be called along with the request headers
       and information about the downstream connection, such as the directly connected address.
       Each extension will then use these parameters to decide the request's effective remote address.
       If an extension fails to detect the original IP address and isn't configured to reject
       the request, the HCM will try the remaining extensions until one succeeds or rejects
       the request. If the request isn't rejected nor any extension succeeds, the HCM will
       fallback to using the remote address.
      
       .. WARNING::
       Extensions cannot be used in conjunction with :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       nor :ref:`xff_num_trusted_hops
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
      
       [#extension-category: envoy.http.original_ip_detection]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig original_ip_detection_extensions = 46;
    • getOriginalIpDetectionExtensions

      TypedExtensionConfig getOriginalIpDetectionExtensions(int index)
       The configuration for the original IP detection extensions.
      
       When configured the extensions will be called along with the request headers
       and information about the downstream connection, such as the directly connected address.
       Each extension will then use these parameters to decide the request's effective remote address.
       If an extension fails to detect the original IP address and isn't configured to reject
       the request, the HCM will try the remaining extensions until one succeeds or rejects
       the request. If the request isn't rejected nor any extension succeeds, the HCM will
       fallback to using the remote address.
      
       .. WARNING::
       Extensions cannot be used in conjunction with :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       nor :ref:`xff_num_trusted_hops
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
      
       [#extension-category: envoy.http.original_ip_detection]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig original_ip_detection_extensions = 46;
    • getOriginalIpDetectionExtensionsCount

      int getOriginalIpDetectionExtensionsCount()
       The configuration for the original IP detection extensions.
      
       When configured the extensions will be called along with the request headers
       and information about the downstream connection, such as the directly connected address.
       Each extension will then use these parameters to decide the request's effective remote address.
       If an extension fails to detect the original IP address and isn't configured to reject
       the request, the HCM will try the remaining extensions until one succeeds or rejects
       the request. If the request isn't rejected nor any extension succeeds, the HCM will
       fallback to using the remote address.
      
       .. WARNING::
       Extensions cannot be used in conjunction with :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       nor :ref:`xff_num_trusted_hops
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
      
       [#extension-category: envoy.http.original_ip_detection]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig original_ip_detection_extensions = 46;
    • getOriginalIpDetectionExtensionsOrBuilderList

      List<? extends TypedExtensionConfigOrBuilder> getOriginalIpDetectionExtensionsOrBuilderList()
       The configuration for the original IP detection extensions.
      
       When configured the extensions will be called along with the request headers
       and information about the downstream connection, such as the directly connected address.
       Each extension will then use these parameters to decide the request's effective remote address.
       If an extension fails to detect the original IP address and isn't configured to reject
       the request, the HCM will try the remaining extensions until one succeeds or rejects
       the request. If the request isn't rejected nor any extension succeeds, the HCM will
       fallback to using the remote address.
      
       .. WARNING::
       Extensions cannot be used in conjunction with :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       nor :ref:`xff_num_trusted_hops
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
      
       [#extension-category: envoy.http.original_ip_detection]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig original_ip_detection_extensions = 46;
    • getOriginalIpDetectionExtensionsOrBuilder

      TypedExtensionConfigOrBuilder getOriginalIpDetectionExtensionsOrBuilder(int index)
       The configuration for the original IP detection extensions.
      
       When configured the extensions will be called along with the request headers
       and information about the downstream connection, such as the directly connected address.
       Each extension will then use these parameters to decide the request's effective remote address.
       If an extension fails to detect the original IP address and isn't configured to reject
       the request, the HCM will try the remaining extensions until one succeeds or rejects
       the request. If the request isn't rejected nor any extension succeeds, the HCM will
       fallback to using the remote address.
      
       .. WARNING::
       Extensions cannot be used in conjunction with :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       nor :ref:`xff_num_trusted_hops
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
      
       [#extension-category: envoy.http.original_ip_detection]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig original_ip_detection_extensions = 46;
    • getEarlyHeaderMutationExtensionsList

      List<TypedExtensionConfig> getEarlyHeaderMutationExtensionsList()
       The configuration for the early header mutation extensions.
      
       When configured the extensions will be called before any routing, tracing, or any filter processing.
       Each extension will be applied in the order they are configured.
       If the same header is mutated by multiple extensions, then the last extension will win.
      
       [#extension-category: envoy.http.early_header_mutation]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig early_header_mutation_extensions = 52;
    • getEarlyHeaderMutationExtensions

      TypedExtensionConfig getEarlyHeaderMutationExtensions(int index)
       The configuration for the early header mutation extensions.
      
       When configured the extensions will be called before any routing, tracing, or any filter processing.
       Each extension will be applied in the order they are configured.
       If the same header is mutated by multiple extensions, then the last extension will win.
      
       [#extension-category: envoy.http.early_header_mutation]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig early_header_mutation_extensions = 52;
    • getEarlyHeaderMutationExtensionsCount

      int getEarlyHeaderMutationExtensionsCount()
       The configuration for the early header mutation extensions.
      
       When configured the extensions will be called before any routing, tracing, or any filter processing.
       Each extension will be applied in the order they are configured.
       If the same header is mutated by multiple extensions, then the last extension will win.
      
       [#extension-category: envoy.http.early_header_mutation]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig early_header_mutation_extensions = 52;
    • getEarlyHeaderMutationExtensionsOrBuilderList

      List<? extends TypedExtensionConfigOrBuilder> getEarlyHeaderMutationExtensionsOrBuilderList()
       The configuration for the early header mutation extensions.
      
       When configured the extensions will be called before any routing, tracing, or any filter processing.
       Each extension will be applied in the order they are configured.
       If the same header is mutated by multiple extensions, then the last extension will win.
      
       [#extension-category: envoy.http.early_header_mutation]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig early_header_mutation_extensions = 52;
    • getEarlyHeaderMutationExtensionsOrBuilder

      TypedExtensionConfigOrBuilder getEarlyHeaderMutationExtensionsOrBuilder(int index)
       The configuration for the early header mutation extensions.
      
       When configured the extensions will be called before any routing, tracing, or any filter processing.
       Each extension will be applied in the order they are configured.
       If the same header is mutated by multiple extensions, then the last extension will win.
      
       [#extension-category: envoy.http.early_header_mutation]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig early_header_mutation_extensions = 52;
    • hasInternalAddressConfig

      boolean hasInternalAddressConfig()
       Configures what network addresses are considered internal for stats and header sanitation
       purposes. If unspecified, only RFC1918 IP addresses will be considered internal.
       See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more
       information about internal/external addresses.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
      Returns:
      Whether the internalAddressConfig field is set.
    • getInternalAddressConfig

       Configures what network addresses are considered internal for stats and header sanitation
       purposes. If unspecified, only RFC1918 IP addresses will be considered internal.
       See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more
       information about internal/external addresses.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
      Returns:
      The internalAddressConfig.
    • getInternalAddressConfigOrBuilder

      HttpConnectionManager.InternalAddressConfigOrBuilder getInternalAddressConfigOrBuilder()
       Configures what network addresses are considered internal for stats and header sanitation
       purposes. If unspecified, only RFC1918 IP addresses will be considered internal.
       See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more
       information about internal/external addresses.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
    • getSkipXffAppend

      boolean getSkipXffAppend()
       If set, Envoy will not append the remote address to the
       :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in
       conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager
       has mutated the request headers. While :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       will also suppress XFF addition, it has consequences for logging and other
       Envoy uses of the remote address, so ``skip_xff_append`` should be used
       when only an elision of XFF addition is intended.
       
      bool skip_xff_append = 21;
      Returns:
      The skipXffAppend.
    • getVia

      String getVia()
       Via header value to append to request and response headers. If this is
       empty, no via header will be appended.
       
      string via = 22 [(.validate.rules) = { ... }
      Returns:
      The via.
    • getViaBytes

      com.google.protobuf.ByteString getViaBytes()
       Via header value to append to request and response headers. If this is
       empty, no via header will be appended.
       
      string via = 22 [(.validate.rules) = { ... }
      Returns:
      The bytes for via.
    • hasGenerateRequestId

      boolean hasGenerateRequestId()
       Whether the connection manager will generate the :ref:`x-request-id
       <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to
       true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature
       is not desired it can be disabled.
       
      .google.protobuf.BoolValue generate_request_id = 15;
      Returns:
      Whether the generateRequestId field is set.
    • getGenerateRequestId

      com.google.protobuf.BoolValue getGenerateRequestId()
       Whether the connection manager will generate the :ref:`x-request-id
       <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to
       true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature
       is not desired it can be disabled.
       
      .google.protobuf.BoolValue generate_request_id = 15;
      Returns:
      The generateRequestId.
    • getGenerateRequestIdOrBuilder

      com.google.protobuf.BoolValueOrBuilder getGenerateRequestIdOrBuilder()
       Whether the connection manager will generate the :ref:`x-request-id
       <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to
       true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature
       is not desired it can be disabled.
       
      .google.protobuf.BoolValue generate_request_id = 15;
    • getPreserveExternalRequestId

      boolean getPreserveExternalRequestId()
       Whether the connection manager will keep the :ref:`x-request-id
       <config_http_conn_man_headers_x-request-id>` header if passed for a request that is edge
       (Edge request is the request from external clients to front Envoy) and not reset it, which
       is the current Envoy behaviour. This defaults to false.
       
      bool preserve_external_request_id = 32;
      Returns:
      The preserveExternalRequestId.
    • getAlwaysSetRequestIdInResponse

      boolean getAlwaysSetRequestIdInResponse()
       If set, Envoy will always set :ref:`x-request-id <config_http_conn_man_headers_x-request-id>` header in response.
       If this is false or not set, the request ID is returned in responses only if tracing is forced using
       :ref:`x-envoy-force-trace <config_http_conn_man_headers_x-envoy-force-trace>` header.
       
      bool always_set_request_id_in_response = 37;
      Returns:
      The alwaysSetRequestIdInResponse.
    • getForwardClientCertDetailsValue

      int getForwardClientCertDetailsValue()
       How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
       header.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails forward_client_cert_details = 16 [(.validate.rules) = { ... }
      Returns:
      The enum numeric value on the wire for forwardClientCertDetails.
    • getForwardClientCertDetails

      HttpConnectionManager.ForwardClientCertDetails getForwardClientCertDetails()
       How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
       header.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails forward_client_cert_details = 16 [(.validate.rules) = { ... }
      Returns:
      The forwardClientCertDetails.
    • hasSetCurrentClientCertDetails

      boolean hasSetCurrentClientCertDetails()
       This field is valid only when :ref:`forward_client_cert_details
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details>`
       is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in
       the client certificate to be forwarded. Note that in the
       :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, ``Hash`` is always set, and
       ``By`` is always set when the client certificate presents the URI type Subject Alternative Name
       value.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
      Returns:
      Whether the setCurrentClientCertDetails field is set.
    • getSetCurrentClientCertDetails

      HttpConnectionManager.SetCurrentClientCertDetails getSetCurrentClientCertDetails()
       This field is valid only when :ref:`forward_client_cert_details
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details>`
       is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in
       the client certificate to be forwarded. Note that in the
       :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, ``Hash`` is always set, and
       ``By`` is always set when the client certificate presents the URI type Subject Alternative Name
       value.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
      Returns:
      The setCurrentClientCertDetails.
    • getSetCurrentClientCertDetailsOrBuilder

      HttpConnectionManager.SetCurrentClientCertDetailsOrBuilder getSetCurrentClientCertDetailsOrBuilder()
       This field is valid only when :ref:`forward_client_cert_details
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details>`
       is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in
       the client certificate to be forwarded. Note that in the
       :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, ``Hash`` is always set, and
       ``By`` is always set when the client certificate presents the URI type Subject Alternative Name
       value.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
    • getProxy100Continue

      boolean getProxy100Continue()
       If proxy_100_continue is true, Envoy will proxy incoming "Expect:
       100-continue" headers upstream, and forward "100 Continue" responses
       downstream. If this is false or not set, Envoy will instead strip the
       "Expect: 100-continue" header, and send a "100 Continue" response itself.
       
      bool proxy_100_continue = 18;
      Returns:
      The proxy100Continue.
    • getRepresentIpv4RemoteAddressAsIpv4MappedIpv6

      boolean getRepresentIpv4RemoteAddressAsIpv4MappedIpv6()
       If
       :ref:`use_remote_address
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
       is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is
       an IPv4 address, the address will be mapped to IPv6 before it is appended to ``x-forwarded-for``.
       This is useful for testing compatibility of upstream services that parse the header value. For
       example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses
       <https://tools.ietf.org/html/rfc4291#section-2.5.5.2>`_ for details. This will also affect the
       :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See
       :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6
       <config_http_conn_man_runtime_represent_ipv4_remote_address_as_ipv4_mapped_ipv6>` for runtime
       control.
       [#not-implemented-hide:]
       
      bool represent_ipv4_remote_address_as_ipv4_mapped_ipv6 = 20;
      Returns:
      The representIpv4RemoteAddressAsIpv4MappedIpv6.
    • getUpgradeConfigsList

      List<HttpConnectionManager.UpgradeConfig> getUpgradeConfigsList()
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
    • getUpgradeConfigs

      HttpConnectionManager.UpgradeConfig getUpgradeConfigs(int index)
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
    • getUpgradeConfigsCount

      int getUpgradeConfigsCount()
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
    • getUpgradeConfigsOrBuilderList

      List<? extends HttpConnectionManager.UpgradeConfigOrBuilder> getUpgradeConfigsOrBuilderList()
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
    • getUpgradeConfigsOrBuilder

      HttpConnectionManager.UpgradeConfigOrBuilder getUpgradeConfigsOrBuilder(int index)
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
    • hasNormalizePath

      boolean hasNormalizePath()
       Should paths be normalized according to RFC 3986 before any processing of
       requests by HTTP filters or routing? This affects the upstream ``:path`` header
       as well. For paths that fail this check, Envoy will respond with 400 to
       paths that are malformed. This defaults to false currently but will default
       true in the future. When not specified, this value may be overridden by the
       runtime variable
       :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
       See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`_
       for details of normalization.
       Note that Envoy does not perform
       `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`_
       [#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.]
       
      .google.protobuf.BoolValue normalize_path = 30;
      Returns:
      Whether the normalizePath field is set.
    • getNormalizePath

      com.google.protobuf.BoolValue getNormalizePath()
       Should paths be normalized according to RFC 3986 before any processing of
       requests by HTTP filters or routing? This affects the upstream ``:path`` header
       as well. For paths that fail this check, Envoy will respond with 400 to
       paths that are malformed. This defaults to false currently but will default
       true in the future. When not specified, this value may be overridden by the
       runtime variable
       :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
       See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`_
       for details of normalization.
       Note that Envoy does not perform
       `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`_
       [#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.]
       
      .google.protobuf.BoolValue normalize_path = 30;
      Returns:
      The normalizePath.
    • getNormalizePathOrBuilder

      com.google.protobuf.BoolValueOrBuilder getNormalizePathOrBuilder()
       Should paths be normalized according to RFC 3986 before any processing of
       requests by HTTP filters or routing? This affects the upstream ``:path`` header
       as well. For paths that fail this check, Envoy will respond with 400 to
       paths that are malformed. This defaults to false currently but will default
       true in the future. When not specified, this value may be overridden by the
       runtime variable
       :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
       See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`_
       for details of normalization.
       Note that Envoy does not perform
       `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`_
       [#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.]
       
      .google.protobuf.BoolValue normalize_path = 30;
    • getMergeSlashes

      boolean getMergeSlashes()
       Determines if adjacent slashes in the path are merged into one before any processing of
       requests by HTTP filters or routing. This affects the upstream ``:path`` header as well. Without
       setting this option, incoming requests with path ``//dir///file`` will not match against route
       with ``prefix`` match set to ``/dir``. Defaults to ``false``. Note that slash merging is not part of
       `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
       [#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 merge_slashes = 33;
      Returns:
      The mergeSlashes.
    • getPathWithEscapedSlashesActionValue

      int getPathWithEscapedSlashesActionValue()
       Action to take when request URL path contains escaped slash sequences (%2F, %2f, %5C and %5c).
       The default value can be overridden by the :ref:`http_connection_manager.path_with_escaped_slashes_action<config_http_conn_man_runtime_path_with_escaped_slashes_action>`
       runtime variable.
       The :ref:`http_connection_manager.path_with_escaped_slashes_action_sampling<config_http_conn_man_runtime_path_with_escaped_slashes_action_enabled>` runtime
       variable can be used to apply the action to a portion of all requests.
       [#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.]
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 45;
      Returns:
      The enum numeric value on the wire for pathWithEscapedSlashesAction.
    • getPathWithEscapedSlashesAction

      HttpConnectionManager.PathWithEscapedSlashesAction getPathWithEscapedSlashesAction()
       Action to take when request URL path contains escaped slash sequences (%2F, %2f, %5C and %5c).
       The default value can be overridden by the :ref:`http_connection_manager.path_with_escaped_slashes_action<config_http_conn_man_runtime_path_with_escaped_slashes_action>`
       runtime variable.
       The :ref:`http_connection_manager.path_with_escaped_slashes_action_sampling<config_http_conn_man_runtime_path_with_escaped_slashes_action_enabled>` runtime
       variable can be used to apply the action to a portion of all requests.
       [#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.]
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction path_with_escaped_slashes_action = 45;
      Returns:
      The pathWithEscapedSlashesAction.
    • hasRequestIdExtension

      boolean hasRequestIdExtension()
       The configuration of the request ID extension. This includes operations such as
       generation, validation, and associated tracing operations. If empty, the
       :ref:`UuidRequestIdConfig <envoy_v3_api_msg_extensions.request_id.uuid.v3.UuidRequestIdConfig>`
       default extension is used with default parameters. See the documentation for that extension
       for details on what it does. Customizing the configuration for the default extension can be
       achieved by configuring it explicitly here. For example, to disable trace reason packing,
       the following configuration can be used:
      
       .. validated-code-block:: yaml
       :type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension
      
       typed_config:
       "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
       pack_trace_reason: false
      
       [#extension-category: envoy.request_id]
       
      .envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 36;
      Returns:
      Whether the requestIdExtension field is set.
    • getRequestIdExtension

      RequestIDExtension getRequestIdExtension()
       The configuration of the request ID extension. This includes operations such as
       generation, validation, and associated tracing operations. If empty, the
       :ref:`UuidRequestIdConfig <envoy_v3_api_msg_extensions.request_id.uuid.v3.UuidRequestIdConfig>`
       default extension is used with default parameters. See the documentation for that extension
       for details on what it does. Customizing the configuration for the default extension can be
       achieved by configuring it explicitly here. For example, to disable trace reason packing,
       the following configuration can be used:
      
       .. validated-code-block:: yaml
       :type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension
      
       typed_config:
       "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
       pack_trace_reason: false
      
       [#extension-category: envoy.request_id]
       
      .envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 36;
      Returns:
      The requestIdExtension.
    • getRequestIdExtensionOrBuilder

      RequestIDExtensionOrBuilder getRequestIdExtensionOrBuilder()
       The configuration of the request ID extension. This includes operations such as
       generation, validation, and associated tracing operations. If empty, the
       :ref:`UuidRequestIdConfig <envoy_v3_api_msg_extensions.request_id.uuid.v3.UuidRequestIdConfig>`
       default extension is used with default parameters. See the documentation for that extension
       for details on what it does. Customizing the configuration for the default extension can be
       achieved by configuring it explicitly here. For example, to disable trace reason packing,
       the following configuration can be used:
      
       .. validated-code-block:: yaml
       :type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension
      
       typed_config:
       "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
       pack_trace_reason: false
      
       [#extension-category: envoy.request_id]
       
      .envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension request_id_extension = 36;
    • hasLocalReplyConfig

      boolean hasLocalReplyConfig()
       The configuration to customize local reply returned by Envoy. It can customize status code,
       body text and response content type. If not specified, status code and text body are hard
       coded in Envoy, the response content type is plain text.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig local_reply_config = 38;
      Returns:
      Whether the localReplyConfig field is set.
    • getLocalReplyConfig

      LocalReplyConfig getLocalReplyConfig()
       The configuration to customize local reply returned by Envoy. It can customize status code,
       body text and response content type. If not specified, status code and text body are hard
       coded in Envoy, the response content type is plain text.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig local_reply_config = 38;
      Returns:
      The localReplyConfig.
    • getLocalReplyConfigOrBuilder

      LocalReplyConfigOrBuilder getLocalReplyConfigOrBuilder()
       The configuration to customize local reply returned by Envoy. It can customize status code,
       body text and response content type. If not specified, status code and text body are hard
       coded in Envoy, the response content type is plain text.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig local_reply_config = 38;
    • getStripMatchingHostPort

      boolean getStripMatchingHostPort()
       Determines if the port part should be removed from host/authority header before any processing
       of request by HTTP filters or routing. The port would be removed only if it is equal to the :ref:`listener's<envoy_v3_api_field_config.listener.v3.Listener.address>`
       local port. This affects the upstream host header unless the method is
       CONNECT in which case if no filter adds a port the original port will be restored before headers are
       sent upstream.
       Without setting this option, incoming requests with host ``example:443`` will not match against
       route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to ``example``. Defaults to ``false``. Note that port removal is not part
       of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
       Only one of ``strip_matching_host_port`` or ``strip_any_host_port`` can be set.
       
      bool strip_matching_host_port = 39 [(.udpa.annotations.field_migrate) = { ... }
      Returns:
      The stripMatchingHostPort.
    • hasStripAnyHostPort

      boolean hasStripAnyHostPort()
       Determines if the port part should be removed from host/authority header before any processing
       of request by HTTP filters or routing.
       This affects the upstream host header unless the method is CONNECT in
       which case if no filter adds a port the original port will be restored before headers are sent upstream.
       Without setting this option, incoming requests with host ``example:443`` will not match against
       route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to ``example``. Defaults to ``false``. Note that port removal is not part
       of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
       Only one of ``strip_matching_host_port`` or ``strip_any_host_port`` can be set.
       
      bool strip_any_host_port = 42;
      Returns:
      Whether the stripAnyHostPort field is set.
    • getStripAnyHostPort

      boolean getStripAnyHostPort()
       Determines if the port part should be removed from host/authority header before any processing
       of request by HTTP filters or routing.
       This affects the upstream host header unless the method is CONNECT in
       which case if no filter adds a port the original port will be restored before headers are sent upstream.
       Without setting this option, incoming requests with host ``example:443`` will not match against
       route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to ``example``. Defaults to ``false``. Note that port removal is not part
       of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
       Only one of ``strip_matching_host_port`` or ``strip_any_host_port`` can be set.
       
      bool strip_any_host_port = 42;
      Returns:
      The stripAnyHostPort.
    • hasStreamErrorOnInvalidHttpMessage

      boolean hasStreamErrorOnInvalidHttpMessage()
       Governs Envoy's behavior when receiving invalid HTTP from downstream.
       If this option is false (default), Envoy will err on the conservative side handling HTTP
       errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request.
       If this option is set to true, Envoy will be more permissive, only resetting the invalid
       stream in the case of HTTP/2 and leaving the connection open where possible (if the entire
       request is read for HTTP/1.1)
       In general this should be true for deployments receiving trusted traffic (L2 Envoys,
       company-internal mesh) and false when receiving untrusted traffic (edge deployments).
      
       If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are
       desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message>` or the new HTTP/2 option
       :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
       ``not`` the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.stream_error_on_invalid_http_messaging>`
       
      .google.protobuf.BoolValue stream_error_on_invalid_http_message = 40;
      Returns:
      Whether the streamErrorOnInvalidHttpMessage field is set.
    • getStreamErrorOnInvalidHttpMessage

      com.google.protobuf.BoolValue getStreamErrorOnInvalidHttpMessage()
       Governs Envoy's behavior when receiving invalid HTTP from downstream.
       If this option is false (default), Envoy will err on the conservative side handling HTTP
       errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request.
       If this option is set to true, Envoy will be more permissive, only resetting the invalid
       stream in the case of HTTP/2 and leaving the connection open where possible (if the entire
       request is read for HTTP/1.1)
       In general this should be true for deployments receiving trusted traffic (L2 Envoys,
       company-internal mesh) and false when receiving untrusted traffic (edge deployments).
      
       If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are
       desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message>` or the new HTTP/2 option
       :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
       ``not`` the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.stream_error_on_invalid_http_messaging>`
       
      .google.protobuf.BoolValue stream_error_on_invalid_http_message = 40;
      Returns:
      The streamErrorOnInvalidHttpMessage.
    • getStreamErrorOnInvalidHttpMessageOrBuilder

      com.google.protobuf.BoolValueOrBuilder getStreamErrorOnInvalidHttpMessageOrBuilder()
       Governs Envoy's behavior when receiving invalid HTTP from downstream.
       If this option is false (default), Envoy will err on the conservative side handling HTTP
       errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request.
       If this option is set to true, Envoy will be more permissive, only resetting the invalid
       stream in the case of HTTP/2 and leaving the connection open where possible (if the entire
       request is read for HTTP/1.1)
       In general this should be true for deployments receiving trusted traffic (L2 Envoys,
       company-internal mesh) and false when receiving untrusted traffic (edge deployments).
      
       If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are
       desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message>` or the new HTTP/2 option
       :ref:`override_stream_error_on_invalid_http_message
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
       ``not`` the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.stream_error_on_invalid_http_messaging>`
       
      .google.protobuf.BoolValue stream_error_on_invalid_http_message = 40;
    • hasPathNormalizationOptions

      boolean hasPathNormalizationOptions()
       [#not-implemented-hide:] Path normalization configuration. This includes
       configurations for transformations (e.g. RFC 3986 normalization or merge
       adjacent slashes) and the policy to apply them. The policy determines
       whether transformations affect the forwarded ``:path`` header. RFC 3986 path
       normalization is enabled by default and the default policy is that the
       normalized header will be forwarded. See :ref:`PathNormalizationOptions
       <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.PathNormalizationOptions>`
       for details.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions path_normalization_options = 43;
      Returns:
      Whether the pathNormalizationOptions field is set.
    • getPathNormalizationOptions

      HttpConnectionManager.PathNormalizationOptions getPathNormalizationOptions()
       [#not-implemented-hide:] Path normalization configuration. This includes
       configurations for transformations (e.g. RFC 3986 normalization or merge
       adjacent slashes) and the policy to apply them. The policy determines
       whether transformations affect the forwarded ``:path`` header. RFC 3986 path
       normalization is enabled by default and the default policy is that the
       normalized header will be forwarded. See :ref:`PathNormalizationOptions
       <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.PathNormalizationOptions>`
       for details.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions path_normalization_options = 43;
      Returns:
      The pathNormalizationOptions.
    • getPathNormalizationOptionsOrBuilder

      HttpConnectionManager.PathNormalizationOptionsOrBuilder getPathNormalizationOptionsOrBuilder()
       [#not-implemented-hide:] Path normalization configuration. This includes
       configurations for transformations (e.g. RFC 3986 normalization or merge
       adjacent slashes) and the policy to apply them. The policy determines
       whether transformations affect the forwarded ``:path`` header. RFC 3986 path
       normalization is enabled by default and the default policy is that the
       normalized header will be forwarded. See :ref:`PathNormalizationOptions
       <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.PathNormalizationOptions>`
       for details.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions path_normalization_options = 43;
    • getStripTrailingHostDot

      boolean getStripTrailingHostDot()
       Determines if trailing dot of the host should be removed from host/authority header before any
       processing of request by HTTP filters or routing.
       This affects the upstream host header.
       Without setting this option, incoming requests with host ``example.com.`` will not match against
       route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to ``example.com``. Defaults to ``false``.
       When the incoming request contains a host/authority header that includes a port number,
       setting this option will strip a trailing dot, if present, from the host section,
       leaving the port as is (e.g. host value ``example.com.:443`` will be updated to ``example.com:443``).
       
      bool strip_trailing_host_dot = 47;
      Returns:
      The stripTrailingHostDot.
    • hasProxyStatusConfig

      boolean hasProxyStatusConfig()
       Proxy-Status HTTP response header configuration.
       If this config is set, the Proxy-Status HTTP response header field is
       populated. By default, it is not.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig proxy_status_config = 49;
      Returns:
      Whether the proxyStatusConfig field is set.
    • getProxyStatusConfig

       Proxy-Status HTTP response header configuration.
       If this config is set, the Proxy-Status HTTP response header field is
       populated. By default, it is not.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig proxy_status_config = 49;
      Returns:
      The proxyStatusConfig.
    • getProxyStatusConfigOrBuilder

      HttpConnectionManager.ProxyStatusConfigOrBuilder getProxyStatusConfigOrBuilder()
       Proxy-Status HTTP response header configuration.
       If this config is set, the Proxy-Status HTTP response header field is
       populated. By default, it is not.
       
      .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig proxy_status_config = 49;
    • hasTypedHeaderValidationConfig

      boolean hasTypedHeaderValidationConfig()
       Configuration options for Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP requests as well as providing
       normalization for request attributes, such as URI path.
       If the typed_header_validation_config is present it overrides the following options:
       ``normalize_path``, ``merge_slashes``, ``path_with_escaped_slashes_action``
       ``http_protocol_options.allow_chunked_length``, ``common_http_protocol_options.headers_with_underscores_action``.
      
       The default UHV checks the following:
      
       #. HTTP/1 header map validity according to `RFC 7230 section 3.2<https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_
       #. Syntax of HTTP/1 request target URI and response status
       #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2<https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2`_
       #. Syntax of HTTP/2 pseudo headers
       #. HTTP/3 header map validity according to `RFC 9114 section 4.3 <https://www.rfc-editor.org/rfc/rfc9114.html>`_
       #. Syntax of HTTP/3 pseudo headers
       #. Syntax of ``Content-Length`` and ``Transfer-Encoding``
       #. Validation of HTTP/1 requests with both ``Content-Length`` and ``Transfer-Encoding`` headers
       #. Normalization of the URI path according to `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_
       without `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_header_validation_config = 50;
      Returns:
      Whether the typedHeaderValidationConfig field is set.
    • getTypedHeaderValidationConfig

      TypedExtensionConfig getTypedHeaderValidationConfig()
       Configuration options for Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP requests as well as providing
       normalization for request attributes, such as URI path.
       If the typed_header_validation_config is present it overrides the following options:
       ``normalize_path``, ``merge_slashes``, ``path_with_escaped_slashes_action``
       ``http_protocol_options.allow_chunked_length``, ``common_http_protocol_options.headers_with_underscores_action``.
      
       The default UHV checks the following:
      
       #. HTTP/1 header map validity according to `RFC 7230 section 3.2<https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_
       #. Syntax of HTTP/1 request target URI and response status
       #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2<https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2`_
       #. Syntax of HTTP/2 pseudo headers
       #. HTTP/3 header map validity according to `RFC 9114 section 4.3 <https://www.rfc-editor.org/rfc/rfc9114.html>`_
       #. Syntax of HTTP/3 pseudo headers
       #. Syntax of ``Content-Length`` and ``Transfer-Encoding``
       #. Validation of HTTP/1 requests with both ``Content-Length`` and ``Transfer-Encoding`` headers
       #. Normalization of the URI path according to `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_
       without `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_header_validation_config = 50;
      Returns:
      The typedHeaderValidationConfig.
    • getTypedHeaderValidationConfigOrBuilder

      TypedExtensionConfigOrBuilder getTypedHeaderValidationConfigOrBuilder()
       Configuration options for Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP requests as well as providing
       normalization for request attributes, such as URI path.
       If the typed_header_validation_config is present it overrides the following options:
       ``normalize_path``, ``merge_slashes``, ``path_with_escaped_slashes_action``
       ``http_protocol_options.allow_chunked_length``, ``common_http_protocol_options.headers_with_underscores_action``.
      
       The default UHV checks the following:
      
       #. HTTP/1 header map validity according to `RFC 7230 section 3.2<https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_
       #. Syntax of HTTP/1 request target URI and response status
       #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2<https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2`_
       #. Syntax of HTTP/2 pseudo headers
       #. HTTP/3 header map validity according to `RFC 9114 section 4.3 <https://www.rfc-editor.org/rfc/rfc9114.html>`_
       #. Syntax of HTTP/3 pseudo headers
       #. Syntax of ``Content-Length`` and ``Transfer-Encoding``
       #. Validation of HTTP/1 requests with both ``Content-Length`` and ``Transfer-Encoding`` headers
       #. Normalization of the URI path according to `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_
       without `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig typed_header_validation_config = 50;
    • getAppendXForwardedPort

      boolean getAppendXForwardedPort()
       Append the ``x-forwarded-port`` header with the port value client used to connect to Envoy. It
       will be ignored if the ``x-forwarded-port`` header has been set by any trusted proxy in front of Envoy.
       
      bool append_x_forwarded_port = 51;
      Returns:
      The appendXForwardedPort.
    • getAppendLocalOverload

      boolean getAppendLocalOverload()
       Append the :ref:`config_http_conn_man_headers_x-envoy-local-overloaded` HTTP header in the scenario where
       the Overload Manager has been triggered.
       
      bool append_local_overload = 57;
      Returns:
      The appendLocalOverload.
    • hasAddProxyProtocolConnectionState

      boolean hasAddProxyProtocolConnectionState()
       Whether the HCM will add ProxyProtocolFilterState to the Connection lifetime filter state. Defaults to ``true``.
       This should be set to ``false`` in cases where Envoy's view of the downstream address may not correspond to the
       actual client address, for example, if there's another proxy in front of the Envoy.
       
      .google.protobuf.BoolValue add_proxy_protocol_connection_state = 53;
      Returns:
      Whether the addProxyProtocolConnectionState field is set.
    • getAddProxyProtocolConnectionState

      com.google.protobuf.BoolValue getAddProxyProtocolConnectionState()
       Whether the HCM will add ProxyProtocolFilterState to the Connection lifetime filter state. Defaults to ``true``.
       This should be set to ``false`` in cases where Envoy's view of the downstream address may not correspond to the
       actual client address, for example, if there's another proxy in front of the Envoy.
       
      .google.protobuf.BoolValue add_proxy_protocol_connection_state = 53;
      Returns:
      The addProxyProtocolConnectionState.
    • getAddProxyProtocolConnectionStateOrBuilder

      com.google.protobuf.BoolValueOrBuilder getAddProxyProtocolConnectionStateOrBuilder()
       Whether the HCM will add ProxyProtocolFilterState to the Connection lifetime filter state. Defaults to ``true``.
       This should be set to ``false`` in cases where Envoy's view of the downstream address may not correspond to the
       actual client address, for example, if there's another proxy in front of the Envoy.
       
      .google.protobuf.BoolValue add_proxy_protocol_connection_state = 53;
    • getRouteSpecifierCase

    • getStripPortModeCase