Class HttpConnectionManager

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, HttpConnectionManagerOrBuilder, Serializable

    public final class HttpConnectionManager
    extends com.google.protobuf.GeneratedMessageV3
    implements HttpConnectionManagerOrBuilder
     [#next-free-field: 37]
     
    Protobuf type envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
    See Also:
    Serialized Form
    • Field Detail

      • CODEC_TYPE_FIELD_NUMBER

        public static final int CODEC_TYPE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • STAT_PREFIX_FIELD_NUMBER

        public static final int STAT_PREFIX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ROUTE_CONFIG_FIELD_NUMBER

        public static final int ROUTE_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SCOPED_ROUTES_FIELD_NUMBER

        public static final int SCOPED_ROUTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HTTP_FILTERS_FIELD_NUMBER

        public static final int HTTP_FILTERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ADD_USER_AGENT_FIELD_NUMBER

        public static final int ADD_USER_AGENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVER_NAME_FIELD_NUMBER

        public static final int SERVER_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVER_HEADER_TRANSFORMATION_FIELD_NUMBER

        public static final int SERVER_HEADER_TRANSFORMATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_REQUEST_HEADERS_KB_FIELD_NUMBER

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

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

        public static final int STREAM_IDLE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_TIMEOUT_FIELD_NUMBER

        public static final int REQUEST_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DRAIN_TIMEOUT_FIELD_NUMBER

        public static final int DRAIN_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DELAYED_CLOSE_TIMEOUT_FIELD_NUMBER

        public static final int DELAYED_CLOSE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ACCESS_LOG_FIELD_NUMBER

        public static final int ACCESS_LOG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_REMOTE_ADDRESS_FIELD_NUMBER

        public static final int USE_REMOTE_ADDRESS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • XFF_NUM_TRUSTED_HOPS_FIELD_NUMBER

        public static final int XFF_NUM_TRUSTED_HOPS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INTERNAL_ADDRESS_CONFIG_FIELD_NUMBER

        public static final int INTERNAL_ADDRESS_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SKIP_XFF_APPEND_FIELD_NUMBER

        public static final int SKIP_XFF_APPEND_FIELD_NUMBER
        See Also:
        Constant Field Values
      • GENERATE_REQUEST_ID_FIELD_NUMBER

        public static final int GENERATE_REQUEST_ID_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PRESERVE_EXTERNAL_REQUEST_ID_FIELD_NUMBER

        public static final int PRESERVE_EXTERNAL_REQUEST_ID_FIELD_NUMBER
        See Also:
        Constant Field Values
      • FORWARD_CLIENT_CERT_DETAILS_FIELD_NUMBER

        public static final int FORWARD_CLIENT_CERT_DETAILS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SET_CURRENT_CLIENT_CERT_DETAILS_FIELD_NUMBER

        public static final int SET_CURRENT_CLIENT_CERT_DETAILS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PROXY_100_CONTINUE_FIELD_NUMBER

        public static final int PROXY_100_CONTINUE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REPRESENT_IPV4_REMOTE_ADDRESS_AS_IPV4_MAPPED_IPV6_FIELD_NUMBER

        public static final int REPRESENT_IPV4_REMOTE_ADDRESS_AS_IPV4_MAPPED_IPV6_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPGRADE_CONFIGS_FIELD_NUMBER

        public static final int UPGRADE_CONFIGS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • NORMALIZE_PATH_FIELD_NUMBER

        public static final int NORMALIZE_PATH_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MERGE_SLASHES_FIELD_NUMBER

        public static final int MERGE_SLASHES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_ID_EXTENSION_FIELD_NUMBER

        public static final int REQUEST_ID_EXTENSION_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getCodecTypeValue

        public int getCodecTypeValue()
         Supplies the type of codec that the connection manager should use.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.CodecType codec_type = 1 [(.validate.rules) = { ... }
        Specified by:
        getCodecTypeValue in interface HttpConnectionManagerOrBuilder
        Returns:
        The enum numeric value on the wire for codecType.
      • getCodecType

        public HttpConnectionManager.CodecType getCodecType()
         Supplies the type of codec that the connection manager should use.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.CodecType codec_type = 1 [(.validate.rules) = { ... }
        Specified by:
        getCodecType in interface HttpConnectionManagerOrBuilder
        Returns:
        The codecType.
      • getStatPrefix

        public 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) = { ... }
        Specified by:
        getStatPrefix in interface HttpConnectionManagerOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public 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) = { ... }
        Specified by:
        getStatPrefixBytes in interface HttpConnectionManagerOrBuilder
        Returns:
        The bytes for statPrefix.
      • hasRds

        public boolean hasRds()
         The connection manager’s route table will be dynamically loaded via the RDS API.
         
        .envoy.config.filter.network.http_connection_manager.v2.Rds rds = 3;
        Specified by:
        hasRds in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the rds field is set.
      • getRds

        public Rds getRds()
         The connection manager’s route table will be dynamically loaded via the RDS API.
         
        .envoy.config.filter.network.http_connection_manager.v2.Rds rds = 3;
        Specified by:
        getRds in interface HttpConnectionManagerOrBuilder
        Returns:
        The rds.
      • getRdsOrBuilder

        public RdsOrBuilder getRdsOrBuilder()
         The connection manager’s route table will be dynamically loaded via the RDS API.
         
        .envoy.config.filter.network.http_connection_manager.v2.Rds rds = 3;
        Specified by:
        getRdsOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasRouteConfig

        public boolean hasRouteConfig()
         The route table for the connection manager is static and is specified in this property.
         
        .envoy.api.v2.RouteConfiguration route_config = 4;
        Specified by:
        hasRouteConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the routeConfig field is set.
      • hasScopedRoutes

        public 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.config.filter.network.http_connection_manager.v2.ScopedRoutes scoped_routes = 31;
        Specified by:
        hasScopedRoutes in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the scopedRoutes field is set.
      • getScopedRoutes

        public 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.config.filter.network.http_connection_manager.v2.ScopedRoutes scoped_routes = 31;
        Specified by:
        getScopedRoutes in interface HttpConnectionManagerOrBuilder
        Returns:
        The scopedRoutes.
      • getScopedRoutesOrBuilder

        public 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.config.filter.network.http_connection_manager.v2.ScopedRoutes scoped_routes = 31;
        Specified by:
        getScopedRoutesOrBuilder in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersList

        public 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.config.filter.network.http_connection_manager.v2.HttpFilter http_filters = 5;
        Specified by:
        getHttpFiltersList in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersOrBuilderList

        public 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.config.filter.network.http_connection_manager.v2.HttpFilter http_filters = 5;
        Specified by:
        getHttpFiltersOrBuilderList in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersCount

        public 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.config.filter.network.http_connection_manager.v2.HttpFilter http_filters = 5;
        Specified by:
        getHttpFiltersCount in interface HttpConnectionManagerOrBuilder
      • getHttpFilters

        public 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.config.filter.network.http_connection_manager.v2.HttpFilter http_filters = 5;
        Specified by:
        getHttpFilters in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersOrBuilder

        public 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.config.filter.network.http_connection_manager.v2.HttpFilter http_filters = 5;
        Specified by:
        getHttpFiltersOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasAddUserAgent

        public 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;
        Specified by:
        hasAddUserAgent in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the addUserAgent field is set.
      • getAddUserAgent

        public 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;
        Specified by:
        getAddUserAgent in interface HttpConnectionManagerOrBuilder
        Returns:
        The addUserAgent.
      • getAddUserAgentOrBuilder

        public 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;
        Specified by:
        getAddUserAgentOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasTracing

        public 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_api_msg_config.trace.v2.Tracing>`.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing tracing = 7;
        Specified by:
        hasTracing in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the tracing field is set.
      • getTracing

        public HttpConnectionManager.Tracing getTracing()
         Presence of the object defines whether the connection manager
         emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
         <envoy_api_msg_config.trace.v2.Tracing>`.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing tracing = 7;
        Specified by:
        getTracing in interface HttpConnectionManagerOrBuilder
        Returns:
        The tracing.
      • getTracingOrBuilder

        public HttpConnectionManager.TracingOrBuilder getTracingOrBuilder()
         Presence of the object defines whether the connection manager
         emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
         <envoy_api_msg_config.trace.v2.Tracing>`.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing tracing = 7;
        Specified by:
        getTracingOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasCommonHttpProtocolOptions

        public boolean hasCommonHttpProtocolOptions()
         Additional settings for HTTP requests handled by the connection manager. These will be
         applicable to both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 35;
        Specified by:
        hasCommonHttpProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the commonHttpProtocolOptions field is set.
      • getCommonHttpProtocolOptions

        public HttpProtocolOptions getCommonHttpProtocolOptions()
         Additional settings for HTTP requests handled by the connection manager. These will be
         applicable to both HTTP1 and HTTP2 requests.
         
        .envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 35;
        Specified by:
        getCommonHttpProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        The commonHttpProtocolOptions.
      • hasHttpProtocolOptions

        public boolean hasHttpProtocolOptions()
         Additional HTTP/1 settings that are passed to the HTTP/1 codec.
         
        .envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 8;
        Specified by:
        hasHttpProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the httpProtocolOptions field is set.
      • hasHttp2ProtocolOptions

        public boolean hasHttp2ProtocolOptions()
         Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
         
        .envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 9;
        Specified by:
        hasHttp2ProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the http2ProtocolOptions field is set.
      • getServerName

        public 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;
        Specified by:
        getServerName in interface HttpConnectionManagerOrBuilder
        Returns:
        The serverName.
      • getServerNameBytes

        public 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;
        Specified by:
        getServerNameBytes in interface HttpConnectionManagerOrBuilder
        Returns:
        The bytes for serverName.
      • getServerHeaderTransformationValue

        public 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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ServerHeaderTransformation server_header_transformation = 34 [(.validate.rules) = { ... }
        Specified by:
        getServerHeaderTransformationValue in interface HttpConnectionManagerOrBuilder
        Returns:
        The enum numeric value on the wire for serverHeaderTransformation.
      • getServerHeaderTransformation

        public 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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ServerHeaderTransformation server_header_transformation = 34 [(.validate.rules) = { ... }
        Specified by:
        getServerHeaderTransformation in interface HttpConnectionManagerOrBuilder
        Returns:
        The serverHeaderTransformation.
      • hasMaxRequestHeadersKb

        public 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) = { ... }
        Specified by:
        hasMaxRequestHeadersKb in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the maxRequestHeadersKb field is set.
      • getMaxRequestHeadersKb

        public 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) = { ... }
        Specified by:
        getMaxRequestHeadersKb in interface HttpConnectionManagerOrBuilder
        Returns:
        The maxRequestHeadersKb.
      • getMaxRequestHeadersKbOrBuilder

        public 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) = { ... }
        Specified by:
        getMaxRequestHeadersKbOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasIdleTimeout

        @Deprecated
        public boolean hasIdleTimeout()
        Deprecated.
        envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.idle_timeout is deprecated. See envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto;l=313
         The idle timeout for connections managed by the connection manager. The
         idle timeout is defined as the period in which there are no active
         requests. If not set, there is no idle timeout. When the idle timeout is
         reached the connection will be closed. If the connection is an HTTP/2
         connection a drain sequence will occur prior to closing the connection.
         This field is deprecated. Use :ref:`idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.common_http_protocol_options>`
         instead.
         
        .google.protobuf.Duration idle_timeout = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        hasIdleTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the idleTimeout field is set.
      • getIdleTimeout

        @Deprecated
        public com.google.protobuf.Duration getIdleTimeout()
        Deprecated.
        envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.idle_timeout is deprecated. See envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto;l=313
         The idle timeout for connections managed by the connection manager. The
         idle timeout is defined as the period in which there are no active
         requests. If not set, there is no idle timeout. When the idle timeout is
         reached the connection will be closed. If the connection is an HTTP/2
         connection a drain sequence will occur prior to closing the connection.
         This field is deprecated. Use :ref:`idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.common_http_protocol_options>`
         instead.
         
        .google.protobuf.Duration idle_timeout = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getIdleTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The idleTimeout.
      • getIdleTimeoutOrBuilder

        @Deprecated
        public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
        Deprecated.
         The idle timeout for connections managed by the connection manager. The
         idle timeout is defined as the period in which there are no active
         requests. If not set, there is no idle timeout. When the idle timeout is
         reached the connection will be closed. If the connection is an HTTP/2
         connection a drain sequence will occur prior to closing the connection.
         This field is deprecated. Use :ref:`idle_timeout
         <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.common_http_protocol_options>`
         instead.
         
        .google.protobuf.Duration idle_timeout = 11 [deprecated = true, (.envoy.annotations.disallowed_by_default) = true];
        Specified by:
        getIdleTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasStreamIdleTimeout

        public 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_api_field_route.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_api_field_config.filter.network.http_connection_manager.v2.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_api_field_core.HttpProtocolOptions.max_stream_duration>` does not apply to this corner
         case.
         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;
        Specified by:
        hasStreamIdleTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the streamIdleTimeout field is set.
      • getStreamIdleTimeout

        public 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_api_field_route.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_api_field_config.filter.network.http_connection_manager.v2.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_api_field_core.HttpProtocolOptions.max_stream_duration>` does not apply to this corner
         case.
         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;
        Specified by:
        getStreamIdleTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The streamIdleTimeout.
      • getStreamIdleTimeoutOrBuilder

        public 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_api_field_route.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_api_field_config.filter.network.http_connection_manager.v2.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_api_field_core.HttpProtocolOptions.max_stream_duration>` does not apply to this corner
         case.
         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;
        Specified by:
        getStreamIdleTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasRequestTimeout

        public 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;
        Specified by:
        hasRequestTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the requestTimeout field is set.
      • getRequestTimeout

        public 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;
        Specified by:
        getRequestTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The requestTimeout.
      • getRequestTimeoutOrBuilder

        public 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;
        Specified by:
        getRequestTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasDrainTimeout

        public 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;
        Specified by:
        hasDrainTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the drainTimeout field is set.
      • getDrainTimeout

        public 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;
        Specified by:
        getDrainTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The drainTimeout.
      • getDrainTimeoutOrBuilder

        public 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;
        Specified by:
        getDrainTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasDelayedCloseTimeout

        public 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;
        Specified by:
        hasDelayedCloseTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the delayedCloseTimeout field is set.
      • getDelayedCloseTimeout

        public 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;
        Specified by:
        getDelayedCloseTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The delayedCloseTimeout.
      • getDelayedCloseTimeoutOrBuilder

        public 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;
        Specified by:
        getDelayedCloseTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • getAccessLogList

        public List<AccessLog> getAccessLogList()
         Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
         emitted by the connection manager.
         
        repeated .envoy.config.filter.accesslog.v2.AccessLog access_log = 13;
        Specified by:
        getAccessLogList in interface HttpConnectionManagerOrBuilder
      • getAccessLogCount

        public int getAccessLogCount()
         Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
         emitted by the connection manager.
         
        repeated .envoy.config.filter.accesslog.v2.AccessLog access_log = 13;
        Specified by:
        getAccessLogCount in interface HttpConnectionManagerOrBuilder
      • getAccessLog

        public AccessLog getAccessLog​(int index)
         Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
         emitted by the connection manager.
         
        repeated .envoy.config.filter.accesslog.v2.AccessLog access_log = 13;
        Specified by:
        getAccessLog in interface HttpConnectionManagerOrBuilder
      • getAccessLogOrBuilder

        public AccessLogOrBuilder getAccessLogOrBuilder​(int index)
         Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
         emitted by the connection manager.
         
        repeated .envoy.config.filter.accesslog.v2.AccessLog access_log = 13;
        Specified by:
        getAccessLogOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasUseRemoteAddress

        public 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;
        Specified by:
        hasUseRemoteAddress in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the useRemoteAddress field is set.
      • getUseRemoteAddress

        public 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;
        Specified by:
        getUseRemoteAddress in interface HttpConnectionManagerOrBuilder
        Returns:
        The useRemoteAddress.
      • getUseRemoteAddressOrBuilder

        public 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;
        Specified by:
        getUseRemoteAddressOrBuilder in interface HttpConnectionManagerOrBuilder
      • getXffNumTrustedHops

        public 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;
        Specified by:
        getXffNumTrustedHops in interface HttpConnectionManagerOrBuilder
        Returns:
        The xffNumTrustedHops.
      • hasInternalAddressConfig

        public 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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
        Specified by:
        hasInternalAddressConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the internalAddressConfig field is set.
      • getInternalAddressConfig

        public HttpConnectionManager.InternalAddressConfig 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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
        Specified by:
        getInternalAddressConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        The internalAddressConfig.
      • getInternalAddressConfigOrBuilder

        public 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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig internal_address_config = 25;
        Specified by:
        getInternalAddressConfigOrBuilder in interface HttpConnectionManagerOrBuilder
      • getSkipXffAppend

        public 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_api_field_config.filter.network.http_connection_manager.v2.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;
        Specified by:
        getSkipXffAppend in interface HttpConnectionManagerOrBuilder
        Returns:
        The skipXffAppend.
      • getVia

        public 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;
        Specified by:
        getVia in interface HttpConnectionManagerOrBuilder
        Returns:
        The via.
      • getViaBytes

        public 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;
        Specified by:
        getViaBytes in interface HttpConnectionManagerOrBuilder
        Returns:
        The bytes for via.
      • hasGenerateRequestId

        public 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;
        Specified by:
        hasGenerateRequestId in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the generateRequestId field is set.
      • getGenerateRequestId

        public 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;
        Specified by:
        getGenerateRequestId in interface HttpConnectionManagerOrBuilder
        Returns:
        The generateRequestId.
      • getGenerateRequestIdOrBuilder

        public 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;
        Specified by:
        getGenerateRequestIdOrBuilder in interface HttpConnectionManagerOrBuilder
      • getPreserveExternalRequestId

        public 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;
        Specified by:
        getPreserveExternalRequestId in interface HttpConnectionManagerOrBuilder
        Returns:
        The preserveExternalRequestId.
      • getForwardClientCertDetailsValue

        public int getForwardClientCertDetailsValue()
         How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
         header.
         
        .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ForwardClientCertDetails forward_client_cert_details = 16 [(.validate.rules) = { ... }
        Specified by:
        getForwardClientCertDetailsValue in interface HttpConnectionManagerOrBuilder
        Returns:
        The enum numeric value on the wire for forwardClientCertDetails.
      • hasSetCurrentClientCertDetails

        public boolean hasSetCurrentClientCertDetails()
         This field is valid only when :ref:`forward_client_cert_details
         <envoy_api_field_config.filter.network.http_connection_manager.v2.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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
        Specified by:
        hasSetCurrentClientCertDetails in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the setCurrentClientCertDetails field is set.
      • getSetCurrentClientCertDetails

        public HttpConnectionManager.SetCurrentClientCertDetails getSetCurrentClientCertDetails()
         This field is valid only when :ref:`forward_client_cert_details
         <envoy_api_field_config.filter.network.http_connection_manager.v2.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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
        Specified by:
        getSetCurrentClientCertDetails in interface HttpConnectionManagerOrBuilder
        Returns:
        The setCurrentClientCertDetails.
      • getSetCurrentClientCertDetailsOrBuilder

        public HttpConnectionManager.SetCurrentClientCertDetailsOrBuilder getSetCurrentClientCertDetailsOrBuilder()
         This field is valid only when :ref:`forward_client_cert_details
         <envoy_api_field_config.filter.network.http_connection_manager.v2.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.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails set_current_client_cert_details = 17;
        Specified by:
        getSetCurrentClientCertDetailsOrBuilder in interface HttpConnectionManagerOrBuilder
      • getProxy100Continue

        public 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;
        Specified by:
        getProxy100Continue in interface HttpConnectionManagerOrBuilder
        Returns:
        The proxy100Continue.
      • getRepresentIpv4RemoteAddressAsIpv4MappedIpv6

        public boolean getRepresentIpv4RemoteAddressAsIpv4MappedIpv6()
         If
         :ref:`use_remote_address
         <envoy_api_field_config.filter.network.http_connection_manager.v2.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;
        Specified by:
        getRepresentIpv4RemoteAddressAsIpv4MappedIpv6 in interface HttpConnectionManagerOrBuilder
        Returns:
        The representIpv4RemoteAddressAsIpv4MappedIpv6.
      • getUpgradeConfigsCount

        public int getUpgradeConfigsCount()
        repeated .envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig upgrade_configs = 23;
        Specified by:
        getUpgradeConfigsCount in interface HttpConnectionManagerOrBuilder
      • hasNormalizePath

        public 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>`_
         
        .google.protobuf.BoolValue normalize_path = 30;
        Specified by:
        hasNormalizePath in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the normalizePath field is set.
      • getNormalizePath

        public 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>`_
         
        .google.protobuf.BoolValue normalize_path = 30;
        Specified by:
        getNormalizePath in interface HttpConnectionManagerOrBuilder
        Returns:
        The normalizePath.
      • getNormalizePathOrBuilder

        public 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>`_
         
        .google.protobuf.BoolValue normalize_path = 30;
        Specified by:
        getNormalizePathOrBuilder in interface HttpConnectionManagerOrBuilder
      • getMergeSlashes

        public 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.
         
        bool merge_slashes = 33;
        Specified by:
        getMergeSlashes in interface HttpConnectionManagerOrBuilder
        Returns:
        The mergeSlashes.
      • hasRequestIdExtension

        public boolean hasRequestIdExtension()
         The configuration of the request ID extension. This includes operations such as
         generation, validation, and associated tracing operations.
         If not set, Envoy uses the default UUID-based behavior:
         1. Request ID is propagated using *x-request-id* header.
         2. Request ID is a universally unique identifier (UUID).
         3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID.
         
        .envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension request_id_extension = 36;
        Specified by:
        hasRequestIdExtension in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the requestIdExtension field is set.
      • getRequestIdExtension

        public RequestIDExtension getRequestIdExtension()
         The configuration of the request ID extension. This includes operations such as
         generation, validation, and associated tracing operations.
         If not set, Envoy uses the default UUID-based behavior:
         1. Request ID is propagated using *x-request-id* header.
         2. Request ID is a universally unique identifier (UUID).
         3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID.
         
        .envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension request_id_extension = 36;
        Specified by:
        getRequestIdExtension in interface HttpConnectionManagerOrBuilder
        Returns:
        The requestIdExtension.
      • getRequestIdExtensionOrBuilder

        public RequestIDExtensionOrBuilder getRequestIdExtensionOrBuilder()
         The configuration of the request ID extension. This includes operations such as
         generation, validation, and associated tracing operations.
         If not set, Envoy uses the default UUID-based behavior:
         1. Request ID is propagated using *x-request-id* header.
         2. Request ID is a universally unique identifier (UUID).
         3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID.
         
        .envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension request_id_extension = 36;
        Specified by:
        getRequestIdExtensionOrBuilder in interface HttpConnectionManagerOrBuilder
      • isInitialized

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

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

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

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

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

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

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

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

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

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

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

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

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

        protected HttpConnectionManager.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

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

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