Class HttpConnectionManager

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

    public final class HttpConnectionManager
    extends com.google.protobuf.GeneratedMessage
    implements HttpConnectionManagerOrBuilder
     [#next-free-field: 58]
     
    Protobuf type envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • routeSpecifierCase_

        private int routeSpecifierCase_
      • routeSpecifier_

        private java.lang.Object routeSpecifier_
      • stripPortModeCase_

        private int stripPortModeCase_
      • stripPortMode_

        private java.lang.Object stripPortMode_
      • CODEC_TYPE_FIELD_NUMBER

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

        private int codecType_
      • STAT_PREFIX_FIELD_NUMBER

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

        private volatile java.lang.Object statPrefix_
      • 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
      • httpFilters_

        private java.util.List<HttpFilter> httpFilters_
      • ADD_USER_AGENT_FIELD_NUMBER

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

        private com.google.protobuf.BoolValue addUserAgent_
      • 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
      • HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER

        public static final int HTTP3_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
      • serverName_

        private volatile java.lang.Object serverName_
      • SERVER_HEADER_TRANSFORMATION_FIELD_NUMBER

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

        private int serverHeaderTransformation_
      • SCHEME_HEADER_TRANSFORMATION_FIELD_NUMBER

        public static final int SCHEME_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
      • maxRequestHeadersKb_

        private com.google.protobuf.UInt32Value maxRequestHeadersKb_
      • STREAM_IDLE_TIMEOUT_FIELD_NUMBER

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

        private com.google.protobuf.Duration streamIdleTimeout_
      • REQUEST_TIMEOUT_FIELD_NUMBER

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

        private com.google.protobuf.Duration requestTimeout_
      • REQUEST_HEADERS_TIMEOUT_FIELD_NUMBER

        public static final int REQUEST_HEADERS_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • requestHeadersTimeout_

        private com.google.protobuf.Duration requestHeadersTimeout_
      • DRAIN_TIMEOUT_FIELD_NUMBER

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

        private com.google.protobuf.Duration drainTimeout_
      • DELAYED_CLOSE_TIMEOUT_FIELD_NUMBER

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

        private com.google.protobuf.Duration delayedCloseTimeout_
      • ACCESS_LOG_FIELD_NUMBER

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

        private java.util.List<AccessLog> accessLog_
      • ACCESS_LOG_FLUSH_INTERVAL_FIELD_NUMBER

        public static final int ACCESS_LOG_FLUSH_INTERVAL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • accessLogFlushInterval_

        private com.google.protobuf.Duration accessLogFlushInterval_
      • FLUSH_ACCESS_LOG_ON_NEW_REQUEST_FIELD_NUMBER

        public static final int FLUSH_ACCESS_LOG_ON_NEW_REQUEST_FIELD_NUMBER
        See Also:
        Constant Field Values
      • flushAccessLogOnNewRequest_

        private boolean flushAccessLogOnNewRequest_
      • ACCESS_LOG_OPTIONS_FIELD_NUMBER

        public static final int ACCESS_LOG_OPTIONS_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
      • useRemoteAddress_

        private com.google.protobuf.BoolValue useRemoteAddress_
      • XFF_NUM_TRUSTED_HOPS_FIELD_NUMBER

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

        private int xffNumTrustedHops_
      • ORIGINAL_IP_DETECTION_EXTENSIONS_FIELD_NUMBER

        public static final int ORIGINAL_IP_DETECTION_EXTENSIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • originalIpDetectionExtensions_

        private java.util.List<TypedExtensionConfig> originalIpDetectionExtensions_
      • EARLY_HEADER_MUTATION_EXTENSIONS_FIELD_NUMBER

        public static final int EARLY_HEADER_MUTATION_EXTENSIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • earlyHeaderMutationExtensions_

        private java.util.List<TypedExtensionConfig> earlyHeaderMutationExtensions_
      • 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
      • skipXffAppend_

        private boolean skipXffAppend_
      • via_

        private volatile java.lang.Object via_
      • GENERATE_REQUEST_ID_FIELD_NUMBER

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

        private com.google.protobuf.BoolValue generateRequestId_
      • PRESERVE_EXTERNAL_REQUEST_ID_FIELD_NUMBER

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

        private boolean preserveExternalRequestId_
      • ALWAYS_SET_REQUEST_ID_IN_RESPONSE_FIELD_NUMBER

        public static final int ALWAYS_SET_REQUEST_ID_IN_RESPONSE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • alwaysSetRequestIdInResponse_

        private boolean alwaysSetRequestIdInResponse_
      • FORWARD_CLIENT_CERT_DETAILS_FIELD_NUMBER

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

        private int forwardClientCertDetails_
      • 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
      • proxy100Continue_

        private boolean proxy100Continue_
      • 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
      • representIpv4RemoteAddressAsIpv4MappedIpv6_

        private boolean representIpv4RemoteAddressAsIpv4MappedIpv6_
      • 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
      • normalizePath_

        private com.google.protobuf.BoolValue normalizePath_
      • MERGE_SLASHES_FIELD_NUMBER

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

        private boolean mergeSlashes_
      • PATH_WITH_ESCAPED_SLASHES_ACTION_FIELD_NUMBER

        public static final int PATH_WITH_ESCAPED_SLASHES_ACTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • pathWithEscapedSlashesAction_

        private int pathWithEscapedSlashesAction_
      • REQUEST_ID_EXTENSION_FIELD_NUMBER

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

        public static final int LOCAL_REPLY_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • STRIP_MATCHING_HOST_PORT_FIELD_NUMBER

        public static final int STRIP_MATCHING_HOST_PORT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • stripMatchingHostPort_

        private boolean stripMatchingHostPort_
      • STRIP_ANY_HOST_PORT_FIELD_NUMBER

        public static final int STRIP_ANY_HOST_PORT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER

        public static final int STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • streamErrorOnInvalidHttpMessage_

        private com.google.protobuf.BoolValue streamErrorOnInvalidHttpMessage_
      • PATH_NORMALIZATION_OPTIONS_FIELD_NUMBER

        public static final int PATH_NORMALIZATION_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • STRIP_TRAILING_HOST_DOT_FIELD_NUMBER

        public static final int STRIP_TRAILING_HOST_DOT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • stripTrailingHostDot_

        private boolean stripTrailingHostDot_
      • PROXY_STATUS_CONFIG_FIELD_NUMBER

        public static final int PROXY_STATUS_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TYPED_HEADER_VALIDATION_CONFIG_FIELD_NUMBER

        public static final int TYPED_HEADER_VALIDATION_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • APPEND_X_FORWARDED_PORT_FIELD_NUMBER

        public static final int APPEND_X_FORWARDED_PORT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • appendXForwardedPort_

        private boolean appendXForwardedPort_
      • APPEND_LOCAL_OVERLOAD_FIELD_NUMBER

        public static final int APPEND_LOCAL_OVERLOAD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • appendLocalOverload_

        private boolean appendLocalOverload_
      • ADD_PROXY_PROTOCOL_CONNECTION_STATE_FIELD_NUMBER

        public static final int ADD_PROXY_PROTOCOL_CONNECTION_STATE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • addProxyProtocolConnectionState_

        private com.google.protobuf.BoolValue addProxyProtocolConnectionState_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • HttpConnectionManager

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

        private HttpConnectionManager()
    • Method Detail

      • getDescriptor

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

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

        public 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) = { ... }
        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.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType codec_type = 1 [(.validate.rules) = { ... }
        Specified by:
        getCodecType in interface HttpConnectionManagerOrBuilder
        Returns:
        The codecType.
      • getStatPrefix

        public java.lang.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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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.config.route.v3.RouteConfiguration route_config = 4;
        Specified by:
        hasRouteConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the routeConfig field is set.
      • getRouteConfig

        public 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;
        Specified by:
        getRouteConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        The routeConfig.
      • 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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.ScopedRoutes scoped_routes = 31;
        Specified by:
        getScopedRoutesOrBuilder in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersList

        public java.util.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;
        Specified by:
        getHttpFiltersList in interface HttpConnectionManagerOrBuilder
      • getHttpFiltersOrBuilderList

        public java.util.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;
        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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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_v3_api_msg_config.trace.v3.Tracing>`.
         
        .envoy.extensions.filters.network.http_connection_manager.v3.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_v3_api_msg_config.trace.v3.Tracing>`.
         
        .envoy.extensions.filters.network.http_connection_manager.v3.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_v3_api_msg_config.trace.v3.Tracing>`.
         
        .envoy.extensions.filters.network.http_connection_manager.v3.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.config.core.v3.HttpProtocolOptions common_http_protocol_options = 35 [(.udpa.annotations.security) = { ... }
        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.config.core.v3.HttpProtocolOptions common_http_protocol_options = 35 [(.udpa.annotations.security) = { ... }
        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.
         [#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;
        Specified by:
        hasHttpProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the httpProtocolOptions field is set.
      • getHttpProtocolOptions

        public 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;
        Specified by:
        getHttpProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        The httpProtocolOptions.
      • getHttpProtocolOptionsOrBuilder

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

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

        public 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) = { ... }
        Specified by:
        getHttp2ProtocolOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        The http2ProtocolOptions.
      • hasHttp3ProtocolOptions

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

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

        public java.lang.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) = { ... }
        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 [(.validate.rules) = { ... }
        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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation server_header_transformation = 34 [(.validate.rules) = { ... }
        Specified by:
        getServerHeaderTransformation in interface HttpConnectionManagerOrBuilder
        Returns:
        The serverHeaderTransformation.
      • hasSchemeHeaderTransformation

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

        public 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;
        Specified by:
        getSchemeHeaderTransformation in interface HttpConnectionManagerOrBuilder
        Returns:
        The schemeHeaderTransformation.
      • 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
      • 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_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) = { ... }
        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_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) = { ... }
        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_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) = { ... }
        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 [(.udpa.annotations.security) = { ... }
        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 [(.udpa.annotations.security) = { ... }
        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 [(.udpa.annotations.security) = { ... }
        Specified by:
        getRequestTimeoutOrBuilder in interface HttpConnectionManagerOrBuilder
      • hasRequestHeadersTimeout

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

        public 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) = { ... }
        Specified by:
        getRequestHeadersTimeout in interface HttpConnectionManagerOrBuilder
        Returns:
        The requestHeadersTimeout.
      • getRequestHeadersTimeoutOrBuilder

        public 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) = { ... }
        Specified by:
        getRequestHeadersTimeoutOrBuilder 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 java.util.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;
        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.accesslog.v3.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.accesslog.v3.AccessLog access_log = 13;
        Specified by:
        getAccessLog in interface HttpConnectionManagerOrBuilder
      • hasAccessLogFlushInterval

        @Deprecated
        public 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) = { ... }
        Specified by:
        hasAccessLogFlushInterval in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the accessLogFlushInterval field is set.
      • getAccessLogFlushInterval

        @Deprecated
        public 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) = { ... }
        Specified by:
        getAccessLogFlushInterval in interface HttpConnectionManagerOrBuilder
        Returns:
        The accessLogFlushInterval.
      • getAccessLogFlushIntervalOrBuilder

        @Deprecated
        public 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) = { ... }
        Specified by:
        getAccessLogFlushIntervalOrBuilder in interface HttpConnectionManagerOrBuilder
      • getFlushAccessLogOnNewRequest

        @Deprecated
        public 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"];
        Specified by:
        getFlushAccessLogOnNewRequest in interface HttpConnectionManagerOrBuilder
        Returns:
        The flushAccessLogOnNewRequest.
      • hasAccessLogOptions

        public boolean hasAccessLogOptions()
         Additional access log options for HTTP connection manager.
         
        .envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions access_log_options = 56;
        Specified by:
        hasAccessLogOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        Whether the accessLogOptions field is set.
      • 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 [(.udpa.annotations.security) = { ... }
        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 [(.udpa.annotations.security) = { ... }
        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 [(.udpa.annotations.security) = { ... }
        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.
      • getOriginalIpDetectionExtensionsList

        public java.util.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;
        Specified by:
        getOriginalIpDetectionExtensionsList in interface HttpConnectionManagerOrBuilder
      • getOriginalIpDetectionExtensionsOrBuilderList

        public java.util.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;
        Specified by:
        getOriginalIpDetectionExtensionsOrBuilderList in interface HttpConnectionManagerOrBuilder
      • getOriginalIpDetectionExtensionsCount

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

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

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

        public java.util.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;
        Specified by:
        getEarlyHeaderMutationExtensionsList in interface HttpConnectionManagerOrBuilder
      • getEarlyHeaderMutationExtensionsOrBuilderList

        public java.util.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;
        Specified by:
        getEarlyHeaderMutationExtensionsOrBuilderList in interface HttpConnectionManagerOrBuilder
      • getEarlyHeaderMutationExtensionsCount

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

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

        public 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;
        Specified by:
        getEarlyHeaderMutationExtensionsOrBuilder in interface HttpConnectionManagerOrBuilder
      • 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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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.extensions.filters.network.http_connection_manager.v3.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_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;
        Specified by:
        getSkipXffAppend in interface HttpConnectionManagerOrBuilder
        Returns:
        The skipXffAppend.
      • getVia

        public java.lang.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) = { ... }
        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 [(.validate.rules) = { ... }
        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.
      • getAlwaysSetRequestIdInResponse

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

        public 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) = { ... }
        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_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;
        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_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;
        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_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;
        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_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;
        Specified by:
        getRepresentIpv4RemoteAddressAsIpv4MappedIpv6 in interface HttpConnectionManagerOrBuilder
        Returns:
        The representIpv4RemoteAddressAsIpv4MappedIpv6.
      • getUpgradeConfigsCount

        public int getUpgradeConfigsCount()
        repeated .envoy.extensions.filters.network.http_connection_manager.v3.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>`_
         [#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;
        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>`_
         [#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;
        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>`_
         [#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;
        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.
         [#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;
        Specified by:
        getMergeSlashes in interface HttpConnectionManagerOrBuilder
        Returns:
        The mergeSlashes.
      • getPathWithEscapedSlashesActionValue

        public 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;
        Specified by:
        getPathWithEscapedSlashesActionValue in interface HttpConnectionManagerOrBuilder
        Returns:
        The enum numeric value on the wire for pathWithEscapedSlashesAction.
      • getPathWithEscapedSlashesAction

        public 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;
        Specified by:
        getPathWithEscapedSlashesAction in interface HttpConnectionManagerOrBuilder
        Returns:
        The pathWithEscapedSlashesAction.
      • hasRequestIdExtension

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

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

        public 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;
        Specified by:
        getLocalReplyConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        The localReplyConfig.
      • getLocalReplyConfigOrBuilder

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

        public 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) = { ... }
        Specified by:
        getStripMatchingHostPort in interface HttpConnectionManagerOrBuilder
        Returns:
        The stripMatchingHostPort.
      • hasStripAnyHostPort

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

        public 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;
        Specified by:
        getStripAnyHostPort in interface HttpConnectionManagerOrBuilder
        Returns:
        The stripAnyHostPort.
      • hasStreamErrorOnInvalidHttpMessage

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

        public 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;
        Specified by:
        getStreamErrorOnInvalidHttpMessage in interface HttpConnectionManagerOrBuilder
        Returns:
        The streamErrorOnInvalidHttpMessage.
      • getStreamErrorOnInvalidHttpMessageOrBuilder

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

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

        public 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;
        Specified by:
        getPathNormalizationOptions in interface HttpConnectionManagerOrBuilder
        Returns:
        The pathNormalizationOptions.
      • getPathNormalizationOptionsOrBuilder

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

        public 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;
        Specified by:
        getStripTrailingHostDot in interface HttpConnectionManagerOrBuilder
        Returns:
        The stripTrailingHostDot.
      • hasProxyStatusConfig

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

        public HttpConnectionManager.ProxyStatusConfig 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;
        Specified by:
        getProxyStatusConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        The proxyStatusConfig.
      • hasTypedHeaderValidationConfig

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

        public 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;
        Specified by:
        getTypedHeaderValidationConfig in interface HttpConnectionManagerOrBuilder
        Returns:
        The typedHeaderValidationConfig.
      • getTypedHeaderValidationConfigOrBuilder

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

        public 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;
        Specified by:
        getAppendXForwardedPort in interface HttpConnectionManagerOrBuilder
        Returns:
        The appendXForwardedPort.
      • getAppendLocalOverload

        public 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;
        Specified by:
        getAppendLocalOverload in interface HttpConnectionManagerOrBuilder
        Returns:
        The appendLocalOverload.
      • hasAddProxyProtocolConnectionState

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

        public 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;
        Specified by:
        getAddProxyProtocolConnectionState in interface HttpConnectionManagerOrBuilder
        Returns:
        The addProxyProtocolConnectionState.
      • getAddProxyProtocolConnectionStateOrBuilder

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

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

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

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

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

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

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

        public static HttpConnectionManager parseFrom​(java.nio.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
      • parseFrom

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

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

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

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

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

        public static HttpConnectionManager parseFrom​(com.google.protobuf.CodedInputStream input,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • 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.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • 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.GeneratedMessage
      • getDefaultInstanceForType

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