Class Http1ProtocolOptions

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Http1ProtocolOptionsOrBuilder, Serializable

public final class Http1ProtocolOptions extends com.google.protobuf.GeneratedMessageV3 implements Http1ProtocolOptionsOrBuilder
 [#next-free-field: 12]
 
Protobuf type envoy.config.core.v3.Http1ProtocolOptions
See Also:
  • Field Details

    • ALLOW_ABSOLUTE_URL_FIELD_NUMBER

      public static final int ALLOW_ABSOLUTE_URL_FIELD_NUMBER
      See Also:
    • ACCEPT_HTTP_10_FIELD_NUMBER

      public static final int ACCEPT_HTTP_10_FIELD_NUMBER
      See Also:
    • DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER

      public static final int DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER
      See Also:
    • HEADER_KEY_FORMAT_FIELD_NUMBER

      public static final int HEADER_KEY_FORMAT_FIELD_NUMBER
      See Also:
    • ENABLE_TRAILERS_FIELD_NUMBER

      public static final int ENABLE_TRAILERS_FIELD_NUMBER
      See Also:
    • ALLOW_CHUNKED_LENGTH_FIELD_NUMBER

      public static final int ALLOW_CHUNKED_LENGTH_FIELD_NUMBER
      See Also:
    • OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER

      public static final int OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER
      See Also:
    • SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER

      public static final int SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER
      See Also:
    • USE_BALSA_PARSER_FIELD_NUMBER

      public static final int USE_BALSA_PARSER_FIELD_NUMBER
      See Also:
    • ALLOW_CUSTOM_METHODS_FIELD_NUMBER

      public static final int ALLOW_CUSTOM_METHODS_FIELD_NUMBER
      See Also:
    • IGNORE_HTTP_11_UPGRADE_FIELD_NUMBER

      public static final int IGNORE_HTTP_11_UPGRADE_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • hasAllowAbsoluteUrl

      public 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;
      Specified by:
      hasAllowAbsoluteUrl in interface Http1ProtocolOptionsOrBuilder
      Returns:
      Whether the allowAbsoluteUrl field is set.
    • getAllowAbsoluteUrl

      public 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;
      Specified by:
      getAllowAbsoluteUrl in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The allowAbsoluteUrl.
    • getAllowAbsoluteUrlOrBuilder

      public 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;
      Specified by:
      getAllowAbsoluteUrlOrBuilder in interface Http1ProtocolOptionsOrBuilder
    • getAcceptHttp10

      public 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;
      Specified by:
      getAcceptHttp10 in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The acceptHttp10.
    • getDefaultHostForHttp10

      public 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;
      Specified by:
      getDefaultHostForHttp10 in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The defaultHostForHttp10.
    • getDefaultHostForHttp10Bytes

      public 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;
      Specified by:
      getDefaultHostForHttp10Bytes in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The bytes for defaultHostForHttp10.
    • hasHeaderKeyFormat

      public 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;
      Specified by:
      hasHeaderKeyFormat in interface Http1ProtocolOptionsOrBuilder
      Returns:
      Whether the headerKeyFormat field is set.
    • getHeaderKeyFormat

      public 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;
      Specified by:
      getHeaderKeyFormat in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The headerKeyFormat.
    • getHeaderKeyFormatOrBuilder

      public 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;
      Specified by:
      getHeaderKeyFormatOrBuilder in interface Http1ProtocolOptionsOrBuilder
    • getEnableTrailers

      public 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;
      Specified by:
      getEnableTrailers in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The enableTrailers.
    • getAllowChunkedLength

      public 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;
      Specified by:
      getAllowChunkedLength in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The allowChunkedLength.
    • hasOverrideStreamErrorOnInvalidHttpMessage

      public 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;
      Specified by:
      hasOverrideStreamErrorOnInvalidHttpMessage in interface Http1ProtocolOptionsOrBuilder
      Returns:
      Whether the overrideStreamErrorOnInvalidHttpMessage field is set.
    • getOverrideStreamErrorOnInvalidHttpMessage

      public 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;
      Specified by:
      getOverrideStreamErrorOnInvalidHttpMessage in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The overrideStreamErrorOnInvalidHttpMessage.
    • getOverrideStreamErrorOnInvalidHttpMessageOrBuilder

      public 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;
      Specified by:
      getOverrideStreamErrorOnInvalidHttpMessageOrBuilder in interface Http1ProtocolOptionsOrBuilder
    • getSendFullyQualifiedUrl

      public 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;
      Specified by:
      getSendFullyQualifiedUrl in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The sendFullyQualifiedUrl.
    • hasUseBalsaParser

      @Deprecated public 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"];
      Specified by:
      hasUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
      Returns:
      Whether the useBalsaParser field is set.
    • getUseBalsaParser

      @Deprecated public 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"];
      Specified by:
      getUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The useBalsaParser.
    • getUseBalsaParserOrBuilder

      @Deprecated public 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"];
      Specified by:
      getUseBalsaParserOrBuilder in interface Http1ProtocolOptionsOrBuilder
    • getAllowCustomMethods

      public 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) = { ... }
      Specified by:
      getAllowCustomMethods in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The allowCustomMethods.
    • getIgnoreHttp11UpgradeList

      public 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;
      Specified by:
      getIgnoreHttp11UpgradeList in interface Http1ProtocolOptionsOrBuilder
    • getIgnoreHttp11UpgradeOrBuilderList

      public 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;
      Specified by:
      getIgnoreHttp11UpgradeOrBuilderList in interface Http1ProtocolOptionsOrBuilder
    • getIgnoreHttp11UpgradeCount

      public 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;
      Specified by:
      getIgnoreHttp11UpgradeCount in interface Http1ProtocolOptionsOrBuilder
    • getIgnoreHttp11Upgrade

      public 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;
      Specified by:
      getIgnoreHttp11Upgrade in interface Http1ProtocolOptionsOrBuilder
    • getIgnoreHttp11UpgradeOrBuilder

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

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

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

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

      public boolean equals(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 Http1ProtocolOptions parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      public static Http1ProtocolOptions parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

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

      public static Http1ProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Http1ProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public Http1ProtocolOptions.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static Http1ProtocolOptions.Builder newBuilder()
    • newBuilder

      public static Http1ProtocolOptions.Builder newBuilder(Http1ProtocolOptions prototype)
    • toBuilder

      public Http1ProtocolOptions.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected Http1ProtocolOptions.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static Http1ProtocolOptions getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Http1ProtocolOptions> parser()
    • getParserForType

      public com.google.protobuf.Parser<Http1ProtocolOptions> 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.GeneratedMessageV3
    • getDefaultInstanceForType

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