public final class HttpProtocolOptions extends com.google.protobuf.GeneratedMessageV3 implements HttpProtocolOptionsOrBuilder
HttpProtocolOptions specifies Http upstream protocol options. This object
is used in
:ref:`typed_extension_protocol_options<envoy_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`,
keyed by the name `envoy.extensions.upstreams.http.v3.HttpProtocolOptions`.
This controls what protocol(s) should be used for upstream and how said protocol(s) are configured.
This replaces the prior pattern of explicit protocol configuration directly
in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
Would now look like this:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
explicit_http_config:
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
[#next-free-field: 6]
Protobuf type envoy.extensions.upstreams.http.v3.HttpProtocolOptions| Modifier and Type | Class and Description |
|---|---|
static class |
HttpProtocolOptions.AutoHttpConfig
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.
|
static interface |
HttpProtocolOptions.AutoHttpConfigOrBuilder |
static class |
HttpProtocolOptions.Builder
HttpProtocolOptions specifies Http upstream protocol options.
|
static class |
HttpProtocolOptions.ExplicitHttpConfig
If this is used, the cluster will only operate on one of the possible upstream protocols (HTTP/1.1, HTTP/2).
|
static interface |
HttpProtocolOptions.ExplicitHttpConfigOrBuilder |
static class |
HttpProtocolOptions.UpstreamProtocolOptionsCase |
static class |
HttpProtocolOptions.UseDownstreamHttpConfig
If this is used, the cluster can use either of the configured protocols, and
will use whichever protocol was used by the downstream connection.
|
static interface |
HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| Modifier and Type | Field and Description |
|---|---|
static int |
AUTO_CONFIG_FIELD_NUMBER |
static int |
COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER |
static int |
EXPLICIT_HTTP_CONFIG_FIELD_NUMBER |
static int |
UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER |
static int |
USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
HttpProtocolOptions.AutoHttpConfig |
getAutoConfig()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; |
HttpProtocolOptions.AutoHttpConfigOrBuilder |
getAutoConfigOrBuilder()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; |
HttpProtocolOptions |
getCommonHttpProtocolOptions()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; |
HttpProtocolOptionsOrBuilder |
getCommonHttpProtocolOptionsOrBuilder()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; |
static HttpProtocolOptions |
getDefaultInstance() |
HttpProtocolOptions |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
HttpProtocolOptions.ExplicitHttpConfig |
getExplicitHttpConfig()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!)
|
HttpProtocolOptions.ExplicitHttpConfigOrBuilder |
getExplicitHttpConfigOrBuilder()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!)
|
com.google.protobuf.Parser<HttpProtocolOptions> |
getParserForType() |
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
UpstreamHttpProtocolOptions |
getUpstreamHttpProtocolOptions()
This contains common protocol options which are only applied upstream.
|
UpstreamHttpProtocolOptionsOrBuilder |
getUpstreamHttpProtocolOptionsOrBuilder()
This contains common protocol options which are only applied upstream.
|
HttpProtocolOptions.UpstreamProtocolOptionsCase |
getUpstreamProtocolOptionsCase() |
HttpProtocolOptions.UseDownstreamHttpConfig |
getUseDownstreamProtocolConfig()
This allows switching on protocol based on what protocol the downstream
connection used.
|
HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder |
getUseDownstreamProtocolConfigOrBuilder()
This allows switching on protocol based on what protocol the downstream
connection used.
|
boolean |
hasAutoConfig()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; |
boolean |
hasCommonHttpProtocolOptions()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; |
boolean |
hasExplicitHttpConfig()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!)
|
int |
hashCode() |
boolean |
hasUpstreamHttpProtocolOptions()
This contains common protocol options which are only applied upstream.
|
boolean |
hasUseDownstreamProtocolConfig()
This allows switching on protocol based on what protocol the downstream
connection used.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static HttpProtocolOptions.Builder |
newBuilder() |
static HttpProtocolOptions.Builder |
newBuilder(HttpProtocolOptions prototype) |
HttpProtocolOptions.Builder |
newBuilderForType() |
protected HttpProtocolOptions.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static HttpProtocolOptions |
parseDelimitedFrom(InputStream input) |
static HttpProtocolOptions |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static HttpProtocolOptions |
parseFrom(byte[] data) |
static HttpProtocolOptions |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static HttpProtocolOptions |
parseFrom(ByteBuffer data) |
static HttpProtocolOptions |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static HttpProtocolOptions |
parseFrom(com.google.protobuf.ByteString data) |
static HttpProtocolOptions |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static HttpProtocolOptions |
parseFrom(com.google.protobuf.CodedInputStream input) |
static HttpProtocolOptions |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static HttpProtocolOptions |
parseFrom(InputStream input) |
static HttpProtocolOptions |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<HttpProtocolOptions> |
parser() |
HttpProtocolOptions.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
public static final int UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER
public static final int EXPLICIT_HTTP_CONFIG_FIELD_NUMBER
public static final int USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER
public static final int AUTO_CONFIG_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance in class com.google.protobuf.GeneratedMessageV3public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public HttpProtocolOptions.UpstreamProtocolOptionsCase getUpstreamProtocolOptionsCase()
getUpstreamProtocolOptionsCase in interface HttpProtocolOptionsOrBuilderpublic boolean hasCommonHttpProtocolOptions()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;hasCommonHttpProtocolOptions in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions getCommonHttpProtocolOptions()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;getCommonHttpProtocolOptions in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder()
This contains options common across HTTP/1 and HTTP/2
.envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1;getCommonHttpProtocolOptionsOrBuilder in interface HttpProtocolOptionsOrBuilderpublic boolean hasUpstreamHttpProtocolOptions()
This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;hasUpstreamHttpProtocolOptions in interface HttpProtocolOptionsOrBuilderpublic UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions()
This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;getUpstreamHttpProtocolOptions in interface HttpProtocolOptionsOrBuilderpublic UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder()
This contains common protocol options which are only applied upstream.
.envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2;getUpstreamHttpProtocolOptionsOrBuilder in interface HttpProtocolOptionsOrBuilderpublic boolean hasExplicitHttpConfig()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use *explicit_http_config*. If the *explicit_http_config* is empty, HTTP/1.1 is used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;hasExplicitHttpConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.ExplicitHttpConfig getExplicitHttpConfig()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use *explicit_http_config*. If the *explicit_http_config* is empty, HTTP/1.1 is used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;getExplicitHttpConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.ExplicitHttpConfigOrBuilder getExplicitHttpConfigOrBuilder()
To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use *explicit_http_config*. If the *explicit_http_config* is empty, HTTP/1.1 is used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3;getExplicitHttpConfigOrBuilder in interface HttpProtocolOptionsOrBuilderpublic boolean hasUseDownstreamProtocolConfig()
This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;hasUseDownstreamProtocolConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.UseDownstreamHttpConfig getUseDownstreamProtocolConfig()
This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;getUseDownstreamProtocolConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder getUseDownstreamProtocolConfigOrBuilder()
This allows switching on protocol based on what protocol the downstream connection used.
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4;getUseDownstreamProtocolConfigOrBuilder in interface HttpProtocolOptionsOrBuilderpublic boolean hasAutoConfig()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;hasAutoConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.AutoHttpConfig getAutoConfig()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;getAutoConfig in interface HttpProtocolOptionsOrBuilderpublic HttpProtocolOptions.AutoHttpConfigOrBuilder getAutoConfigOrBuilder()
This allows switching on protocol based on ALPN
.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5;getAutoConfigOrBuilder in interface HttpProtocolOptionsOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static HttpProtocolOptions parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static HttpProtocolOptions parseFrom(InputStream input) throws IOException
IOExceptionpublic static HttpProtocolOptions parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static HttpProtocolOptions parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static HttpProtocolOptions parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static HttpProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static HttpProtocolOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic HttpProtocolOptions.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static HttpProtocolOptions.Builder newBuilder()
public static HttpProtocolOptions.Builder newBuilder(HttpProtocolOptions prototype)
public HttpProtocolOptions.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected HttpProtocolOptions.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static HttpProtocolOptions getDefaultInstance()
public static com.google.protobuf.Parser<HttpProtocolOptions> parser()
public com.google.protobuf.Parser<HttpProtocolOptions> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public HttpProtocolOptions getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2021 The Envoy Project. All rights reserved.