Class Http1ProtocolOptions

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
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.GeneratedMessage implements Http1ProtocolOptionsOrBuilder
 [#next-free-field: 11]
 
Protobuf type envoy.config.core.v3.Http1ProtocolOptions
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • ALLOW_ABSOLUTE_URL_FIELD_NUMBER

      public static final int ALLOW_ABSOLUTE_URL_FIELD_NUMBER
      See Also:
    • allowAbsoluteUrl_

      private com.google.protobuf.BoolValue allowAbsoluteUrl_
    • ACCEPT_HTTP_10_FIELD_NUMBER

      public static final int ACCEPT_HTTP_10_FIELD_NUMBER
      See Also:
    • acceptHttp10_

      private boolean acceptHttp10_
    • DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER

      public static final int DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER
      See Also:
    • defaultHostForHttp10_

      private volatile Object defaultHostForHttp10_
    • HEADER_KEY_FORMAT_FIELD_NUMBER

      public static final int HEADER_KEY_FORMAT_FIELD_NUMBER
      See Also:
    • headerKeyFormat_

      private Http1ProtocolOptions.HeaderKeyFormat headerKeyFormat_
    • ENABLE_TRAILERS_FIELD_NUMBER

      public static final int ENABLE_TRAILERS_FIELD_NUMBER
      See Also:
    • enableTrailers_

      private boolean enableTrailers_
    • ALLOW_CHUNKED_LENGTH_FIELD_NUMBER

      public static final int ALLOW_CHUNKED_LENGTH_FIELD_NUMBER
      See Also:
    • allowChunkedLength_

      private boolean allowChunkedLength_
    • OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER

      public static final int OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER
      See Also:
    • overrideStreamErrorOnInvalidHttpMessage_

      private com.google.protobuf.BoolValue overrideStreamErrorOnInvalidHttpMessage_
    • SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER

      public static final int SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER
      See Also:
    • sendFullyQualifiedUrl_

      private boolean sendFullyQualifiedUrl_
    • USE_BALSA_PARSER_FIELD_NUMBER

      public static final int USE_BALSA_PARSER_FIELD_NUMBER
      See Also:
    • useBalsaParser_

      private com.google.protobuf.BoolValue useBalsaParser_
    • ALLOW_CUSTOM_METHODS_FIELD_NUMBER

      public static final int ALLOW_CUSTOM_METHODS_FIELD_NUMBER
      See Also:
    • allowCustomMethods_

      private boolean allowCustomMethods_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final Http1ProtocolOptions DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<Http1ProtocolOptions> PARSER
  • Constructor Details

    • Http1ProtocolOptions

      private Http1ProtocolOptions(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • Http1ProtocolOptions

      private Http1ProtocolOptions()
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • 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::
      
       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;
      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

      public 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) = { ... }
      Specified by:
      hasUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
      Returns:
      Whether the useBalsaParser field is set.
    • getUseBalsaParser

      public 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) = { ... }
      Specified by:
      getUseBalsaParser in interface Http1ProtocolOptionsOrBuilder
      Returns:
      The useBalsaParser.
    • getUseBalsaParserOrBuilder

      public 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) = { ... }
      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.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • 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.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • 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.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • 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.GeneratedMessage
    • getDefaultInstanceForType

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