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::
      
       Note that 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

      boolean hasUseBalsaParser()
       [#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 [(.xds.annotations.v3.field_status) = { ... }
      Returns:
      Whether the useBalsaParser field is set.
    • getUseBalsaParser

      com.google.protobuf.BoolValue getUseBalsaParser()
       [#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 [(.xds.annotations.v3.field_status) = { ... }
      Returns:
      The useBalsaParser.
    • getUseBalsaParserOrBuilder

      com.google.protobuf.BoolValueOrBuilder getUseBalsaParserOrBuilder()
       [#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 [(.xds.annotations.v3.field_status) = { ... }
    • 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.