Class 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: 9]
     
    Protobuf type envoy.config.core.v3.Http1ProtocolOptions
    See Also:
    Serialized Form
    • Field Detail

      • ALLOW_ABSOLUTE_URL_FIELD_NUMBER

        public static final int ALLOW_ABSOLUTE_URL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ACCEPT_HTTP_10_FIELD_NUMBER

        public static final int ACCEPT_HTTP_10_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER

        public static final int DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HEADER_KEY_FORMAT_FIELD_NUMBER

        public static final int HEADER_KEY_FORMAT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENABLE_TRAILERS_FIELD_NUMBER

        public static final int ENABLE_TRAILERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ALLOW_CHUNKED_LENGTH_FIELD_NUMBER

        public static final int ALLOW_CHUNKED_LENGTH_FIELD_NUMBER
        See Also:
        Constant Field Values
      • OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER

        public static final int OVERRIDE_STREAM_ERROR_ON_INVALID_HTTP_MESSAGE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER

        public static final int SEND_FULLY_QUALIFIED_URL_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

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

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields 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.
      • 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.
      • 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
      • newBuilderForType

        public Http1ProtocolOptions.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • 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
      • 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