Interface HttpProtocolOptionsOrBuilder

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

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

    • hasCommonHttpProtocolOptions

      boolean hasCommonHttpProtocolOptions()
       This contains options common across HTTP/1 and HTTP/2
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;
      Returns:
      Whether the commonHttpProtocolOptions field is set.
    • getCommonHttpProtocolOptions

      HttpProtocolOptions getCommonHttpProtocolOptions()
       This contains options common across HTTP/1 and HTTP/2
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;
      Returns:
      The commonHttpProtocolOptions.
    • getCommonHttpProtocolOptionsOrBuilder

      HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
       This contains options common across HTTP/1 and HTTP/2
       
      .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;
    • hasUpstreamHttpProtocolOptions

      boolean hasUpstreamHttpProtocolOptions()
       This contains common protocol options which are only applied upstream.
       
      .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;
      Returns:
      Whether the upstreamHttpProtocolOptions field is set.
    • getUpstreamHttpProtocolOptions

      UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
       This contains common protocol options which are only applied upstream.
       
      .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;
      Returns:
      The upstreamHttpProtocolOptions.
    • getUpstreamHttpProtocolOptionsOrBuilder

      UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder()
       This contains common protocol options which are only applied upstream.
       
      .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;
    • hasExplicitHttpConfig

      boolean hasExplicitHttpConfig()
       To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;
      Returns:
      Whether the explicitHttpConfig field is set.
    • getExplicitHttpConfig

       To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;
      Returns:
      The explicitHttpConfig.
    • getExplicitHttpConfigOrBuilder

      HttpProtocolOptions.ExplicitHttpConfigOrBuilder getExplicitHttpConfigOrBuilder()
       To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;
    • hasUseDownstreamProtocolConfig

      boolean hasUseDownstreamProtocolConfig()
       This allows switching on protocol based on what protocol the downstream
       connection used.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;
      Returns:
      Whether the useDownstreamProtocolConfig field is set.
    • getUseDownstreamProtocolConfig

      HttpProtocolOptions.UseDownstreamHttpConfig getUseDownstreamProtocolConfig()
       This allows switching on protocol based on what protocol the downstream
       connection used.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;
      Returns:
      The useDownstreamProtocolConfig.
    • getUseDownstreamProtocolConfigOrBuilder

      HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder getUseDownstreamProtocolConfigOrBuilder()
       This allows switching on protocol based on what protocol the downstream
       connection used.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;
    • hasAutoConfig

      boolean hasAutoConfig()
       This allows switching on protocol based on ALPN
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;
      Returns:
      Whether the autoConfig field is set.
    • getAutoConfig

       This allows switching on protocol based on ALPN
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;
      Returns:
      The autoConfig.
    • getAutoConfigOrBuilder

       This allows switching on protocol based on ALPN
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;
    • getHttpFiltersList

      List<HttpFilter> getHttpFiltersList()
       Optional HTTP filters for the upstream HTTP filter chain.
      
       .. note::
         Upstream HTTP filters are currently in alpha.
      
      
       These filters will be applied for all HTTP streams which flow through this
       cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
      
       If using upstream HTTP filters, please be aware that local errors sent by
       upstream HTTP filters will not trigger retries, and local errors sent by
       upstream HTTP filters will count as a final response if hedging is configured.
       [#extension-category: envoy.filters.http.upstream]
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;
    • getHttpFilters

      HttpFilter getHttpFilters(int index)
       Optional HTTP filters for the upstream HTTP filter chain.
      
       .. note::
         Upstream HTTP filters are currently in alpha.
      
      
       These filters will be applied for all HTTP streams which flow through this
       cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
      
       If using upstream HTTP filters, please be aware that local errors sent by
       upstream HTTP filters will not trigger retries, and local errors sent by
       upstream HTTP filters will count as a final response if hedging is configured.
       [#extension-category: envoy.filters.http.upstream]
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;
    • getHttpFiltersCount

      int getHttpFiltersCount()
       Optional HTTP filters for the upstream HTTP filter chain.
      
       .. note::
         Upstream HTTP filters are currently in alpha.
      
      
       These filters will be applied for all HTTP streams which flow through this
       cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
      
       If using upstream HTTP filters, please be aware that local errors sent by
       upstream HTTP filters will not trigger retries, and local errors sent by
       upstream HTTP filters will count as a final response if hedging is configured.
       [#extension-category: envoy.filters.http.upstream]
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;
    • getHttpFiltersOrBuilderList

      List<? extends HttpFilterOrBuilder> getHttpFiltersOrBuilderList()
       Optional HTTP filters for the upstream HTTP filter chain.
      
       .. note::
         Upstream HTTP filters are currently in alpha.
      
      
       These filters will be applied for all HTTP streams which flow through this
       cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
      
       If using upstream HTTP filters, please be aware that local errors sent by
       upstream HTTP filters will not trigger retries, and local errors sent by
       upstream HTTP filters will count as a final response if hedging is configured.
       [#extension-category: envoy.filters.http.upstream]
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;
    • getHttpFiltersOrBuilder

      HttpFilterOrBuilder getHttpFiltersOrBuilder(int index)
       Optional HTTP filters for the upstream HTTP filter chain.
      
       .. note::
         Upstream HTTP filters are currently in alpha.
      
      
       These filters will be applied for all HTTP streams which flow through this
       cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
      
       If using upstream HTTP filters, please be aware that local errors sent by
       upstream HTTP filters will not trigger retries, and local errors sent by
       upstream HTTP filters will count as a final response if hedging is configured.
       [#extension-category: envoy.filters.http.upstream]
       
      repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6;
    • hasHeaderValidationConfig

      boolean hasHeaderValidationConfig()
       Configuration options for Unified Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP responses.
      
       [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
       Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;
      Returns:
      Whether the headerValidationConfig field is set.
    • getHeaderValidationConfig

      TypedExtensionConfig getHeaderValidationConfig()
       Configuration options for Unified Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP responses.
      
       [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
       Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;
      Returns:
      The headerValidationConfig.
    • getHeaderValidationConfigOrBuilder

      TypedExtensionConfigOrBuilder getHeaderValidationConfigOrBuilder()
       Configuration options for Unified Header Validation (UHV).
       UHV is an extensible mechanism for checking validity of HTTP responses.
      
       [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
       Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
      
       [#not-implemented-hide:]
       [#extension-category: envoy.http.header_validators]
       
      .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7;
    • hasOutlierDetection

      boolean hasOutlierDetection()
       Defines http specific outlier detection parameters.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;
      Returns:
      Whether the outlierDetection field is set.
    • getOutlierDetection

       Defines http specific outlier detection parameters.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;
      Returns:
      The outlierDetection.
    • getOutlierDetectionOrBuilder

      HttpProtocolOptions.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder()
       Defines http specific outlier detection parameters.
       
      .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.OutlierDetection outlier_detection = 8;
    • getRequestMirrorPoliciesList

      List<RouteAction.RequestMirrorPolicy> getRequestMirrorPoliciesList()
       Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
       Cluster-level policies override route-level policies when they both are configured.
      
       .. note::
      
         Mirroring will not be triggered if the :ref:`primary cluster
         <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
       
      repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;
    • getRequestMirrorPolicies

      RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index)
       Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
       Cluster-level policies override route-level policies when they both are configured.
      
       .. note::
      
         Mirroring will not be triggered if the :ref:`primary cluster
         <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
       
      repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;
    • getRequestMirrorPoliciesCount

      int getRequestMirrorPoliciesCount()
       Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
       Cluster-level policies override route-level policies when they both are configured.
      
       .. note::
      
         Mirroring will not be triggered if the :ref:`primary cluster
         <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
       
      repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;
    • getRequestMirrorPoliciesOrBuilderList

      List<? extends RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesOrBuilderList()
       Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
       Cluster-level policies override route-level policies when they both are configured.
      
       .. note::
      
         Mirroring will not be triggered if the :ref:`primary cluster
         <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
       
      repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;
    • getRequestMirrorPoliciesOrBuilder

      RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder(int index)
       Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
       Cluster-level policies override route-level policies when they both are configured.
      
       .. note::
      
         Mirroring will not be triggered if the :ref:`primary cluster
         <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
       
      repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 9;
    • getHashPolicyList

      List<RouteAction.HashPolicy> getHashPolicyList()
       Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
       Maglev) for requests routed to this cluster. When configured, cluster-level policies override
       route-level policies. When not configured, route-level policies (if any) will be used.
      
       This enables consistent routing to the same upstream host for all requests to a cluster,
       which is particularly useful for stateful services like caching, session management, or
       sticky routing requirements.
      
       .. note::
      
         Hash policies are only effective when the cluster is configured with a hash-based load
         balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
         or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;
    • getHashPolicy

      RouteAction.HashPolicy getHashPolicy(int index)
       Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
       Maglev) for requests routed to this cluster. When configured, cluster-level policies override
       route-level policies. When not configured, route-level policies (if any) will be used.
      
       This enables consistent routing to the same upstream host for all requests to a cluster,
       which is particularly useful for stateful services like caching, session management, or
       sticky routing requirements.
      
       .. note::
      
         Hash policies are only effective when the cluster is configured with a hash-based load
         balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
         or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;
    • getHashPolicyCount

      int getHashPolicyCount()
       Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
       Maglev) for requests routed to this cluster. When configured, cluster-level policies override
       route-level policies. When not configured, route-level policies (if any) will be used.
      
       This enables consistent routing to the same upstream host for all requests to a cluster,
       which is particularly useful for stateful services like caching, session management, or
       sticky routing requirements.
      
       .. note::
      
         Hash policies are only effective when the cluster is configured with a hash-based load
         balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
         or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;
    • getHashPolicyOrBuilderList

      List<? extends RouteAction.HashPolicyOrBuilder> getHashPolicyOrBuilderList()
       Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
       Maglev) for requests routed to this cluster. When configured, cluster-level policies override
       route-level policies. When not configured, route-level policies (if any) will be used.
      
       This enables consistent routing to the same upstream host for all requests to a cluster,
       which is particularly useful for stateful services like caching, session management, or
       sticky routing requirements.
      
       .. note::
      
         Hash policies are only effective when the cluster is configured with a hash-based load
         balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
         or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;
    • getHashPolicyOrBuilder

      RouteAction.HashPolicyOrBuilder getHashPolicyOrBuilder(int index)
       Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
       Maglev) for requests routed to this cluster. When configured, cluster-level policies override
       route-level policies. When not configured, route-level policies (if any) will be used.
      
       This enables consistent routing to the same upstream host for all requests to a cluster,
       which is particularly useful for stateful services like caching, session management, or
       sticky routing requirements.
      
       .. note::
      
         Hash policies are only effective when the cluster is configured with a hash-based load
         balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
         or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 10;
    • hasRetryPolicy

      boolean hasRetryPolicy()
       Specifies the retry policy for requests routed to this cluster. When configured,
       cluster-level retry policy overrides route-level retry policy. When not configured,
       route-level retry policy (if any) will be used.
      
       .. note::
      
         Cluster-level retry policy will override route-level retry policy entirely. Policies are
         not merged.
       
      .envoy.config.route.v3.RetryPolicy retry_policy = 11;
      Returns:
      Whether the retryPolicy field is set.
    • getRetryPolicy

      RetryPolicy getRetryPolicy()
       Specifies the retry policy for requests routed to this cluster. When configured,
       cluster-level retry policy overrides route-level retry policy. When not configured,
       route-level retry policy (if any) will be used.
      
       .. note::
      
         Cluster-level retry policy will override route-level retry policy entirely. Policies are
         not merged.
       
      .envoy.config.route.v3.RetryPolicy retry_policy = 11;
      Returns:
      The retryPolicy.
    • getRetryPolicyOrBuilder

      RetryPolicyOrBuilder getRetryPolicyOrBuilder()
       Specifies the retry policy for requests routed to this cluster. When configured,
       cluster-level retry policy overrides route-level retry policy. When not configured,
       route-level retry policy (if any) will be used.
      
       .. note::
      
         Cluster-level retry policy will override route-level retry policy entirely. Policies are
         not merged.
       
      .envoy.config.route.v3.RetryPolicy retry_policy = 11;
    • getUpstreamProtocolOptionsCase

      HttpProtocolOptions.UpstreamProtocolOptionsCase getUpstreamProtocolOptionsCase()