Class HttpProtocolOptions.AutoHttpConfig

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, HttpProtocolOptions.AutoHttpConfigOrBuilder, Serializable
Enclosing class:
HttpProtocolOptions

public static final class HttpProtocolOptions.AutoHttpConfig extends com.google.protobuf.GeneratedMessageV3 implements HttpProtocolOptions.AutoHttpConfigOrBuilder
 If this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever
 protocol is negotiated by ALPN with the upstream.
 Clusters configured with ``AutoHttpConfig`` will use the highest available
 protocol; HTTP/2 if supported, otherwise HTTP/1.
 If the upstream does not support ALPN, ``AutoHttpConfig`` will fail over to HTTP/1.
 This can only be used with transport sockets which support ALPN. Using a
 transport socket which does not support ALPN will result in configuration
 failure. The transport layer may be configured with custom ALPN, but the default ALPN
 for the cluster (or if custom ALPN fails) will be "h2,http/1.1".
 
Protobuf type envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig
See Also:
  • Field Details

    • HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER

      public static final int HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER
      See Also:
    • ALTERNATE_PROTOCOLS_CACHE_OPTIONS_FIELD_NUMBER

      public static final int ALTERNATE_PROTOCOLS_CACHE_OPTIONS_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
    • hasHttpProtocolOptions

      public boolean hasHttpProtocolOptions()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      hasHttpProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the httpProtocolOptions field is set.
    • getHttpProtocolOptions

      public Http1ProtocolOptions getHttpProtocolOptions()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      getHttpProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The httpProtocolOptions.
    • getHttpProtocolOptionsOrBuilder

      public Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      getHttpProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasHttp2ProtocolOptions

      public boolean hasHttp2ProtocolOptions()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      hasHttp2ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the http2ProtocolOptions field is set.
    • getHttp2ProtocolOptions

      public Http2ProtocolOptions getHttp2ProtocolOptions()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      getHttp2ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The http2ProtocolOptions.
    • getHttp2ProtocolOptionsOrBuilder

      public Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      getHttp2ProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasHttp3ProtocolOptions

      public boolean hasHttp3ProtocolOptions()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      hasHttp3ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the http3ProtocolOptions field is set.
    • getHttp3ProtocolOptions

      public Http3ProtocolOptions getHttp3ProtocolOptions()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      getHttp3ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The http3ProtocolOptions.
    • getHttp3ProtocolOptionsOrBuilder

      public Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      getHttp3ProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasAlternateProtocolsCacheOptions

      public boolean hasAlternateProtocolsCacheOptions()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      hasAlternateProtocolsCacheOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the alternateProtocolsCacheOptions field is set.
    • getAlternateProtocolsCacheOptions

      public AlternateProtocolsCacheOptions getAlternateProtocolsCacheOptions()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      getAlternateProtocolsCacheOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The alternateProtocolsCacheOptions.
    • getAlternateProtocolsCacheOptionsOrBuilder

      public AlternateProtocolsCacheOptionsOrBuilder getAlternateProtocolsCacheOptionsOrBuilder()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      getAlternateProtocolsCacheOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • 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 HttpProtocolOptions.AutoHttpConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static HttpProtocolOptions.AutoHttpConfig parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      public static HttpProtocolOptions.AutoHttpConfig parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

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

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

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

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

      public static HttpProtocolOptions.AutoHttpConfig.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

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

      public static HttpProtocolOptions.AutoHttpConfig getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<HttpProtocolOptions.AutoHttpConfig> 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 HttpProtocolOptions.AutoHttpConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder