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 Detail

      • 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

        java.lang.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

        Http1ProtocolOptions.HeaderKeyFormat 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.