Interface Http1ProtocolOptionsOrBuilder

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

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

    • hasAllowAbsoluteUrl

      boolean hasAllowAbsoluteUrl()
       Handle HTTP requests with absolute URLs in the requests. These requests
       are generally sent by clients to forward/explicit proxies. This allows clients to configure
       envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
       ``http_proxy`` environment variable.
       
      .google.protobuf.BoolValue allow_absolute_url = 1;
      Returns:
      Whether the allowAbsoluteUrl field is set.
    • getAllowAbsoluteUrl

      com.google.protobuf.BoolValue getAllowAbsoluteUrl()
       Handle HTTP requests with absolute URLs in the requests. These requests
       are generally sent by clients to forward/explicit proxies. This allows clients to configure
       envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
       ``http_proxy`` environment variable.
       
      .google.protobuf.BoolValue allow_absolute_url = 1;
      Returns:
      The allowAbsoluteUrl.
    • getAllowAbsoluteUrlOrBuilder

      com.google.protobuf.BoolValueOrBuilder getAllowAbsoluteUrlOrBuilder()
       Handle HTTP requests with absolute URLs in the requests. These requests
       are generally sent by clients to forward/explicit proxies. This allows clients to configure
       envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
       ``http_proxy`` environment variable.
       
      .google.protobuf.BoolValue allow_absolute_url = 1;
    • getAcceptHttp10

      boolean getAcceptHttp10()
       Handle incoming HTTP/1.0 and HTTP/0.9 requests.
       This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
       style connect logic, dechunking, and handling lack of client host iff
       ``default_host_for_http_10`` is configured.
       
      bool accept_http_10 = 2;
      Returns:
      The acceptHttp10.
    • getDefaultHostForHttp10

      String getDefaultHostForHttp10()
       A default host for HTTP/1.0 requests. This is highly suggested if ``accept_http_10`` is true as
       Envoy does not otherwise support HTTP/1.0 without a Host header.
       This is a no-op if ``accept_http_10`` is not true.
       
      string default_host_for_http_10 = 3;
      Returns:
      The defaultHostForHttp10.
    • getDefaultHostForHttp10Bytes

      com.google.protobuf.ByteString getDefaultHostForHttp10Bytes()
       A default host for HTTP/1.0 requests. This is highly suggested if ``accept_http_10`` is true as
       Envoy does not otherwise support HTTP/1.0 without a Host header.
       This is a no-op if ``accept_http_10`` is not true.
       
      string default_host_for_http_10 = 3;
      Returns:
      The bytes for defaultHostForHttp10.
    • hasHeaderKeyFormat

      boolean hasHeaderKeyFormat()
       Describes how the keys for response headers should be formatted. By default, all header keys
       are lower cased.
       
      .envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat header_key_format = 4;
      Returns:
      Whether the headerKeyFormat field is set.
    • getHeaderKeyFormat

       Describes how the keys for response headers should be formatted. By default, all header keys
       are lower cased.
       
      .envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat header_key_format = 4;
      Returns:
      The headerKeyFormat.
    • getHeaderKeyFormatOrBuilder

      Http1ProtocolOptions.HeaderKeyFormatOrBuilder getHeaderKeyFormatOrBuilder()
       Describes how the keys for response headers should be formatted. By default, all header keys
       are lower cased.
       
      .envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat header_key_format = 4;
    • getEnableTrailers

      boolean getEnableTrailers()
       Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers.
      
       .. attention::
      
         This only happens when Envoy is chunk encoding which occurs when:
         - The request is HTTP/1.1.
         - Is neither a ``HEAD`` only request nor a HTTP Upgrade.
         - Not a response to a ``HEAD`` request.
         - The ``Content-Length`` header is not present.
       
      bool enable_trailers = 5;
      Returns:
      The enableTrailers.
    • getAllowChunkedLength

      boolean getAllowChunkedLength()
       Allows Envoy to process requests/responses with both ``Content-Length`` and ``Transfer-Encoding``
       headers set. By default such messages are rejected, but if option is enabled - Envoy will
       remove ``Content-Length`` header and process message.
       See `RFC7230, sec. 3.3.3 <https://tools.ietf.org/html/rfc7230#section-3.3.3>`_ for details.
      
       .. attention::
      
         Enabling this option might lead to request smuggling vulnerability, especially if traffic
         is proxied via multiple layers of proxies.
       [#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 allow_chunked_length = 6;
      Returns:
      The allowChunkedLength.
    • hasOverrideStreamErrorOnInvalidHttpMessage

      boolean hasOverrideStreamErrorOnInvalidHttpMessage()
       Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
       HTTP/1.1 connections upon receiving an invalid HTTP message. However,
       when this option is true, then Envoy will leave the HTTP/1.1 connection
       open where possible.
       If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
       
      .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
      Returns:
      Whether the overrideStreamErrorOnInvalidHttpMessage field is set.
    • getOverrideStreamErrorOnInvalidHttpMessage

      com.google.protobuf.BoolValue getOverrideStreamErrorOnInvalidHttpMessage()
       Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
       HTTP/1.1 connections upon receiving an invalid HTTP message. However,
       when this option is true, then Envoy will leave the HTTP/1.1 connection
       open where possible.
       If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
       
      .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
      Returns:
      The overrideStreamErrorOnInvalidHttpMessage.
    • getOverrideStreamErrorOnInvalidHttpMessageOrBuilder

      com.google.protobuf.BoolValueOrBuilder getOverrideStreamErrorOnInvalidHttpMessageOrBuilder()
       Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
       HTTP/1.1 connections upon receiving an invalid HTTP message. However,
       when this option is true, then Envoy will leave the HTTP/1.1 connection
       open where possible.
       If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
       
      .google.protobuf.BoolValue override_stream_error_on_invalid_http_message = 7;
    • getSendFullyQualifiedUrl

      boolean getSendFullyQualifiedUrl()
       Allows sending fully qualified URLs when proxying the first line of the
       response. By default, Envoy will only send the path components in the first line.
       If this is true, Envoy will create a fully qualified URI composing scheme
       (inferred if not present), host (from the host/:authority header) and path
       (from first line or :path header).
       
      bool send_fully_qualified_url = 8;
      Returns:
      The sendFullyQualifiedUrl.
    • hasUseBalsaParser

      @Deprecated boolean hasUseBalsaParser()
      Deprecated.
      envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser is deprecated. See envoy/config/core/v3/protocol.proto;l=483
       [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
       If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
       If unset, HTTP/1 parser is selected based on
       envoy.reloadable_features.http1_use_balsa_parser.
       See issue #21245.
       
      .google.protobuf.BoolValue use_balsa_parser = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Returns:
      Whether the useBalsaParser field is set.
    • getUseBalsaParser

      @Deprecated com.google.protobuf.BoolValue getUseBalsaParser()
      Deprecated.
      envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser is deprecated. See envoy/config/core/v3/protocol.proto;l=483
       [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
       If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
       If unset, HTTP/1 parser is selected based on
       envoy.reloadable_features.http1_use_balsa_parser.
       See issue #21245.
       
      .google.protobuf.BoolValue use_balsa_parser = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Returns:
      The useBalsaParser.
    • getUseBalsaParserOrBuilder

      @Deprecated com.google.protobuf.BoolValueOrBuilder getUseBalsaParserOrBuilder()
      Deprecated.
       [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
       If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
       If unset, HTTP/1 parser is selected based on
       envoy.reloadable_features.http1_use_balsa_parser.
       See issue #21245.
       
      .google.protobuf.BoolValue use_balsa_parser = 9 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
    • getAllowCustomMethods

      boolean getAllowCustomMethods()
       [#not-implemented-hide:] Hiding so that field can be removed.
       If true, and BalsaParser is used (either `use_balsa_parser` above is true,
       or `envoy.reloadable_features.http1_use_balsa_parser` is true and
       `use_balsa_parser` is unset), then every non-empty method with only valid
       characters is accepted. Otherwise, methods not on the hard-coded list are
       rejected.
       Once UHV is enabled, this field should be removed, and BalsaParser should
       allow any method. UHV validates the method, rejecting empty string or
       invalid characters, and provides :ref:`restrict_http_methods
       <envoy_v3_api_field_extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.restrict_http_methods>`
       to reject custom methods.
       
      bool allow_custom_methods = 10 [(.xds.annotations.v3.field_status) = { ... }
      Returns:
      The allowCustomMethods.
    • getIgnoreHttp11UpgradeList

      List<StringMatcher> getIgnoreHttp11UpgradeList()
       Ignore HTTP/1.1 upgrade values matching any of the supplied matchers.
      
       .. note::
      
         ``h2c`` upgrades are always removed for backwards compatibility, regardless of the
         value in this setting.
       
      repeated .envoy.type.matcher.v3.StringMatcher ignore_http_11_upgrade = 11;
    • getIgnoreHttp11Upgrade

      StringMatcher getIgnoreHttp11Upgrade(int index)
       Ignore HTTP/1.1 upgrade values matching any of the supplied matchers.
      
       .. note::
      
         ``h2c`` upgrades are always removed for backwards compatibility, regardless of the
         value in this setting.
       
      repeated .envoy.type.matcher.v3.StringMatcher ignore_http_11_upgrade = 11;
    • getIgnoreHttp11UpgradeCount

      int getIgnoreHttp11UpgradeCount()
       Ignore HTTP/1.1 upgrade values matching any of the supplied matchers.
      
       .. note::
      
         ``h2c`` upgrades are always removed for backwards compatibility, regardless of the
         value in this setting.
       
      repeated .envoy.type.matcher.v3.StringMatcher ignore_http_11_upgrade = 11;
    • getIgnoreHttp11UpgradeOrBuilderList

      List<? extends StringMatcherOrBuilder> getIgnoreHttp11UpgradeOrBuilderList()
       Ignore HTTP/1.1 upgrade values matching any of the supplied matchers.
      
       .. note::
      
         ``h2c`` upgrades are always removed for backwards compatibility, regardless of the
         value in this setting.
       
      repeated .envoy.type.matcher.v3.StringMatcher ignore_http_11_upgrade = 11;
    • getIgnoreHttp11UpgradeOrBuilder

      StringMatcherOrBuilder getIgnoreHttp11UpgradeOrBuilder(int index)
       Ignore HTTP/1.1 upgrade values matching any of the supplied matchers.
      
       .. note::
      
         ``h2c`` upgrades are always removed for backwards compatibility, regardless of the
         value in this setting.
       
      repeated .envoy.type.matcher.v3.StringMatcher ignore_http_11_upgrade = 11;