Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto
package io.envoyproxy.envoy.config.route.v3;
/**
*
* A route is both a specification of how to match a request as well as an indication of what to do
* next (e.g., redirect, forward, rewrite, etc.).
* .. attention::
* Envoy supports routing on HTTP method via :ref:`header matching
* <envoy_v3_api_msg_config.route.v3.HeaderMatcher>`.
* [#next-free-field: 20]
*
*
* Protobuf type {@code envoy.config.route.v3.Route}
*/
public final class Route extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.Route)
RouteOrBuilder {
private static final long serialVersionUID = 0L;
// Use Route.newBuilder() to construct.
private Route(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private Route() {
name_ = "";
requestHeadersToAdd_ = java.util.Collections.emptyList();
requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
responseHeadersToAdd_ = java.util.Collections.emptyList();
responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
statPrefix_ = "";
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new Route();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private Route(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder subBuilder = null;
if (match_ != null) {
subBuilder = match_.toBuilder();
}
match_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteMatch.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(match_);
match_ = subBuilder.buildPartial();
}
break;
}
case 18: {
io.envoyproxy.envoy.config.route.v3.RouteAction.Builder subBuilder = null;
if (actionCase_ == 2) {
subBuilder = ((io.envoyproxy.envoy.config.route.v3.RouteAction) action_).toBuilder();
}
action_ =
input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteAction.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.RouteAction) action_);
action_ = subBuilder.buildPartial();
}
actionCase_ = 2;
break;
}
case 26: {
io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder subBuilder = null;
if (actionCase_ == 3) {
subBuilder = ((io.envoyproxy.envoy.config.route.v3.RedirectAction) action_).toBuilder();
}
action_ =
input.readMessage(io.envoyproxy.envoy.config.route.v3.RedirectAction.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.RedirectAction) action_);
action_ = subBuilder.buildPartial();
}
actionCase_ = 3;
break;
}
case 34: {
io.envoyproxy.envoy.config.core.v3.Metadata.Builder subBuilder = null;
if (metadata_ != null) {
subBuilder = metadata_.toBuilder();
}
metadata_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Metadata.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(metadata_);
metadata_ = subBuilder.buildPartial();
}
break;
}
case 42: {
io.envoyproxy.envoy.config.route.v3.Decorator.Builder subBuilder = null;
if (decorator_ != null) {
subBuilder = decorator_.toBuilder();
}
decorator_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.Decorator.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(decorator_);
decorator_ = subBuilder.buildPartial();
}
break;
}
case 58: {
io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder subBuilder = null;
if (actionCase_ == 7) {
subBuilder = ((io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_).toBuilder();
}
action_ =
input.readMessage(io.envoyproxy.envoy.config.route.v3.DirectResponseAction.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_);
action_ = subBuilder.buildPartial();
}
actionCase_ = 7;
break;
}
case 74: {
if (!((mutable_bitField0_ & 0x00000002) != 0)) {
requestHeadersToAdd_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000002;
}
requestHeadersToAdd_.add(
input.readMessage(io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry));
break;
}
case 82: {
if (!((mutable_bitField0_ & 0x00000008) != 0)) {
responseHeadersToAdd_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000008;
}
responseHeadersToAdd_.add(
input.readMessage(io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry));
break;
}
case 90: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000010) != 0)) {
responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000010;
}
responseHeadersToRemove_.add(s);
break;
}
case 98: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000004) != 0)) {
requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000004;
}
requestHeadersToRemove_.add(s);
break;
}
case 106: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
typedPerFilterConfig_ = com.google.protobuf.MapField.newMapField(
TypedPerFilterConfigDefaultEntryHolder.defaultEntry);
mutable_bitField0_ |= 0x00000001;
}
com.google.protobuf.MapEntry
typedPerFilterConfig__ = input.readMessage(
TypedPerFilterConfigDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
typedPerFilterConfig_.getMutableMap().put(
typedPerFilterConfig__.getKey(), typedPerFilterConfig__.getValue());
break;
}
case 114: {
java.lang.String s = input.readStringRequireUtf8();
name_ = s;
break;
}
case 122: {
io.envoyproxy.envoy.config.route.v3.Tracing.Builder subBuilder = null;
if (tracing_ != null) {
subBuilder = tracing_.toBuilder();
}
tracing_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.Tracing.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(tracing_);
tracing_ = subBuilder.buildPartial();
}
break;
}
case 130: {
com.google.protobuf.UInt32Value.Builder subBuilder = null;
if (perRequestBufferLimitBytes_ != null) {
subBuilder = perRequestBufferLimitBytes_.toBuilder();
}
perRequestBufferLimitBytes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(perRequestBufferLimitBytes_);
perRequestBufferLimitBytes_ = subBuilder.buildPartial();
}
break;
}
case 138: {
io.envoyproxy.envoy.config.route.v3.FilterAction.Builder subBuilder = null;
if (actionCase_ == 17) {
subBuilder = ((io.envoyproxy.envoy.config.route.v3.FilterAction) action_).toBuilder();
}
action_ =
input.readMessage(io.envoyproxy.envoy.config.route.v3.FilterAction.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.FilterAction) action_);
action_ = subBuilder.buildPartial();
}
actionCase_ = 17;
break;
}
case 146: {
io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder subBuilder = null;
if (actionCase_ == 18) {
subBuilder = ((io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_).toBuilder();
}
action_ =
input.readMessage(io.envoyproxy.envoy.config.route.v3.NonForwardingAction.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_);
action_ = subBuilder.buildPartial();
}
actionCase_ = 18;
break;
}
case 154: {
java.lang.String s = input.readStringRequireUtf8();
statPrefix_ = s;
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000002) != 0)) {
requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_);
}
if (((mutable_bitField0_ & 0x00000008) != 0)) {
responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_);
}
if (((mutable_bitField0_ & 0x00000010) != 0)) {
responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView();
}
if (((mutable_bitField0_ & 0x00000004) != 0)) {
requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView();
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_descriptor;
}
@SuppressWarnings({"rawtypes"})
@java.lang.Override
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 13:
return internalGetTypedPerFilterConfig();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.Route.class, io.envoyproxy.envoy.config.route.v3.Route.Builder.class);
}
private int actionCase_ = 0;
private java.lang.Object action_;
public enum ActionCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
ROUTE(2),
REDIRECT(3),
DIRECT_RESPONSE(7),
FILTER_ACTION(17),
NON_FORWARDING_ACTION(18),
ACTION_NOT_SET(0);
private final int value;
private ActionCase(int value) {
this.value = value;
}
/**
* @param value The number of the enum to look for.
* @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static ActionCase valueOf(int value) {
return forNumber(value);
}
public static ActionCase forNumber(int value) {
switch (value) {
case 2: return ROUTE;
case 3: return REDIRECT;
case 7: return DIRECT_RESPONSE;
case 17: return FILTER_ACTION;
case 18: return NON_FORWARDING_ACTION;
case 0: return ACTION_NOT_SET;
default: return null;
}
}
public int getNumber() {
return this.value;
}
};
public ActionCase
getActionCase() {
return ActionCase.forNumber(
actionCase_);
}
public static final int NAME_FIELD_NUMBER = 14;
private volatile java.lang.Object name_;
/**
*
* Name for the route.
*
*
* string name = 14;
* @return The name.
*/
@java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
}
}
/**
*
* Name for the route.
*
*
* string name = 14;
* @return The bytes for name.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int MATCH_FIELD_NUMBER = 1;
private io.envoyproxy.envoy.config.route.v3.RouteMatch match_;
/**
*
* Route matching parameters.
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
* @return Whether the match field is set.
*/
@java.lang.Override
public boolean hasMatch() {
return match_ != null;
}
/**
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder getMatchOrBuilder() {
return getMatch();
}
public static final int ROUTE_FIELD_NUMBER = 2;
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
* @return Whether the route field is set.
*/
@java.lang.Override
public boolean hasRoute() {
return actionCase_ == 2;
}
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
* @return The route.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RouteAction getRoute() {
if (actionCase_ == 2) {
return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance();
}
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder getRouteOrBuilder() {
if (actionCase_ == 2) {
return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance();
}
public static final int REDIRECT_FIELD_NUMBER = 3;
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
* @return Whether the redirect field is set.
*/
@java.lang.Override
public boolean hasRedirect() {
return actionCase_ == 3;
}
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
* @return The redirect.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RedirectAction getRedirect() {
if (actionCase_ == 3) {
return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance();
}
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder getRedirectOrBuilder() {
if (actionCase_ == 3) {
return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance();
}
public static final int DIRECT_RESPONSE_FIELD_NUMBER = 7;
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
* @return Whether the directResponse field is set.
*/
@java.lang.Override
public boolean hasDirectResponse() {
return actionCase_ == 7;
}
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
* @return The directResponse.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.DirectResponseAction getDirectResponse() {
if (actionCase_ == 7) {
return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance();
}
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder getDirectResponseOrBuilder() {
if (actionCase_ == 7) {
return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance();
}
public static final int FILTER_ACTION_FIELD_NUMBER = 17;
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return Whether the filterAction field is set.
*/
@java.lang.Override
public boolean hasFilterAction() {
return actionCase_ == 17;
}
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return The filterAction.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.FilterAction getFilterAction() {
if (actionCase_ == 17) {
return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance();
}
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder getFilterActionOrBuilder() {
if (actionCase_ == 17) {
return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance();
}
public static final int NON_FORWARDING_ACTION_FIELD_NUMBER = 18;
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return Whether the nonForwardingAction field is set.
*/
@java.lang.Override
public boolean hasNonForwardingAction() {
return actionCase_ == 18;
}
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return The nonForwardingAction.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.NonForwardingAction getNonForwardingAction() {
if (actionCase_ == 18) {
return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance();
}
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder getNonForwardingActionOrBuilder() {
if (actionCase_ == 18) {
return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance();
}
public static final int METADATA_FIELD_NUMBER = 4;
private io.envoyproxy.envoy.config.core.v3.Metadata metadata_;
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
* @return Whether the metadata field is set.
*/
@java.lang.Override
public boolean hasMetadata() {
return metadata_ != null;
}
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder() {
return getMetadata();
}
public static final int DECORATOR_FIELD_NUMBER = 5;
private io.envoyproxy.envoy.config.route.v3.Decorator decorator_;
/**
*
* Decorator for the matched route.
*
*
* .envoy.config.route.v3.Decorator decorator = 5;
* @return Whether the decorator field is set.
*/
@java.lang.Override
public boolean hasDecorator() {
return decorator_ != null;
}
/**
*
*
* .envoy.config.route.v3.Decorator decorator = 5;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder getDecoratorOrBuilder() {
return getDecorator();
}
public static final int TYPED_PER_FILTER_CONFIG_FIELD_NUMBER = 13;
private static final class TypedPerFilterConfigDefaultEntryHolder {
static final com.google.protobuf.MapEntry<
java.lang.String, com.google.protobuf.Any> defaultEntry =
com.google.protobuf.MapEntry
.newDefaultInstance(
io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_TypedPerFilterConfigEntry_descriptor,
com.google.protobuf.WireFormat.FieldType.STRING,
"",
com.google.protobuf.WireFormat.FieldType.MESSAGE,
com.google.protobuf.Any.getDefaultInstance());
}
private com.google.protobuf.MapField<
java.lang.String, com.google.protobuf.Any> typedPerFilterConfig_;
private com.google.protobuf.MapField
internalGetTypedPerFilterConfig() {
if (typedPerFilterConfig_ == null) {
return com.google.protobuf.MapField.emptyMapField(
TypedPerFilterConfigDefaultEntryHolder.defaultEntry);
}
return typedPerFilterConfig_;
}
public int getTypedPerFilterConfigCount() {
return internalGetTypedPerFilterConfig().getMap().size();
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
@java.lang.Override
public boolean containsTypedPerFilterConfig(
java.lang.String key) {
if (key == null) { throw new NullPointerException("map key"); }
return internalGetTypedPerFilterConfig().getMap().containsKey(key);
}
/**
* Use {@link #getTypedPerFilterConfigMap()} instead.
*/
@java.lang.Override
@java.lang.Deprecated
public java.util.Map getTypedPerFilterConfig() {
return getTypedPerFilterConfigMap();
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
@java.lang.Override
public com.google.protobuf.Any getTypedPerFilterConfigOrThrow(
java.lang.String key) {
if (key == null) { throw new NullPointerException("map key"); }
java.util.Map map =
internalGetTypedPerFilterConfig().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 9;
private java.util.List requestHeadersToAdd_;
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
@java.lang.Override
public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder(
int index) {
return requestHeadersToAdd_.get(index);
}
public static final int REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER = 12;
private com.google.protobuf.LazyStringList requestHeadersToRemove_;
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return A list containing the requestHeadersToRemove.
*/
public com.google.protobuf.ProtocolStringList
getRequestHeadersToRemoveList() {
return requestHeadersToRemove_;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return The count of requestHeadersToRemove.
*/
public int getRequestHeadersToRemoveCount() {
return requestHeadersToRemove_.size();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The requestHeadersToRemove at the given index.
*/
public java.lang.String getRequestHeadersToRemove(int index) {
return requestHeadersToRemove_.get(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the requestHeadersToRemove at the given index.
*/
public com.google.protobuf.ByteString
getRequestHeadersToRemoveBytes(int index) {
return requestHeadersToRemove_.getByteString(index);
}
public static final int RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER = 10;
private java.util.List responseHeadersToAdd_;
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
@java.lang.Override
public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder(
int index) {
return responseHeadersToAdd_.get(index);
}
public static final int RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER = 11;
private com.google.protobuf.LazyStringList responseHeadersToRemove_;
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return A list containing the responseHeadersToRemove.
*/
public com.google.protobuf.ProtocolStringList
getResponseHeadersToRemoveList() {
return responseHeadersToRemove_;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return The count of responseHeadersToRemove.
*/
public int getResponseHeadersToRemoveCount() {
return responseHeadersToRemove_.size();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The responseHeadersToRemove at the given index.
*/
public java.lang.String getResponseHeadersToRemove(int index) {
return responseHeadersToRemove_.get(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the responseHeadersToRemove at the given index.
*/
public com.google.protobuf.ByteString
getResponseHeadersToRemoveBytes(int index) {
return responseHeadersToRemove_.getByteString(index);
}
public static final int TRACING_FIELD_NUMBER = 15;
private io.envoyproxy.envoy.config.route.v3.Tracing tracing_;
/**
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
*
* .envoy.config.route.v3.Tracing tracing = 15;
* @return Whether the tracing field is set.
*/
@java.lang.Override
public boolean hasTracing() {
return tracing_ != null;
}
/**
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
*
* .envoy.config.route.v3.Tracing tracing = 15;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.TracingOrBuilder getTracingOrBuilder() {
return getTracing();
}
public static final int PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER = 16;
private com.google.protobuf.UInt32Value perRequestBufferLimitBytes_;
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
* @return Whether the perRequestBufferLimitBytes field is set.
*/
@java.lang.Override
public boolean hasPerRequestBufferLimitBytes() {
return perRequestBufferLimitBytes_ != null;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
*/
@java.lang.Override
public com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder() {
return getPerRequestBufferLimitBytes();
}
public static final int STAT_PREFIX_FIELD_NUMBER = 19;
private volatile java.lang.Object statPrefix_;
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @return The bytes for statPrefix.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getStatPrefixBytes() {
java.lang.Object ref = statPrefix_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
statPrefix_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (match_ != null) {
output.writeMessage(1, getMatch());
}
if (actionCase_ == 2) {
output.writeMessage(2, (io.envoyproxy.envoy.config.route.v3.RouteAction) action_);
}
if (actionCase_ == 3) {
output.writeMessage(3, (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_);
}
if (metadata_ != null) {
output.writeMessage(4, getMetadata());
}
if (decorator_ != null) {
output.writeMessage(5, getDecorator());
}
if (actionCase_ == 7) {
output.writeMessage(7, (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_);
}
for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
output.writeMessage(9, requestHeadersToAdd_.get(i));
}
for (int i = 0; i < responseHeadersToAdd_.size(); i++) {
output.writeMessage(10, responseHeadersToAdd_.get(i));
}
for (int i = 0; i < responseHeadersToRemove_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 11, responseHeadersToRemove_.getRaw(i));
}
for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 12, requestHeadersToRemove_.getRaw(i));
}
com.google.protobuf.GeneratedMessageV3
.serializeStringMapTo(
output,
internalGetTypedPerFilterConfig(),
TypedPerFilterConfigDefaultEntryHolder.defaultEntry,
13);
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 14, name_);
}
if (tracing_ != null) {
output.writeMessage(15, getTracing());
}
if (perRequestBufferLimitBytes_ != null) {
output.writeMessage(16, getPerRequestBufferLimitBytes());
}
if (actionCase_ == 17) {
output.writeMessage(17, (io.envoyproxy.envoy.config.route.v3.FilterAction) action_);
}
if (actionCase_ == 18) {
output.writeMessage(18, (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statPrefix_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 19, statPrefix_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (match_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, getMatch());
}
if (actionCase_ == 2) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(2, (io.envoyproxy.envoy.config.route.v3.RouteAction) action_);
}
if (actionCase_ == 3) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_);
}
if (metadata_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(4, getMetadata());
}
if (decorator_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(5, getDecorator());
}
if (actionCase_ == 7) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(7, (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_);
}
for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(9, requestHeadersToAdd_.get(i));
}
for (int i = 0; i < responseHeadersToAdd_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(10, responseHeadersToAdd_.get(i));
}
{
int dataSize = 0;
for (int i = 0; i < responseHeadersToRemove_.size(); i++) {
dataSize += computeStringSizeNoTag(responseHeadersToRemove_.getRaw(i));
}
size += dataSize;
size += 1 * getResponseHeadersToRemoveList().size();
}
{
int dataSize = 0;
for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
dataSize += computeStringSizeNoTag(requestHeadersToRemove_.getRaw(i));
}
size += dataSize;
size += 1 * getRequestHeadersToRemoveList().size();
}
for (java.util.Map.Entry entry
: internalGetTypedPerFilterConfig().getMap().entrySet()) {
com.google.protobuf.MapEntry
typedPerFilterConfig__ = TypedPerFilterConfigDefaultEntryHolder.defaultEntry.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(13, typedPerFilterConfig__);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, name_);
}
if (tracing_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(15, getTracing());
}
if (perRequestBufferLimitBytes_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(16, getPerRequestBufferLimitBytes());
}
if (actionCase_ == 17) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(17, (io.envoyproxy.envoy.config.route.v3.FilterAction) action_);
}
if (actionCase_ == 18) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(18, (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statPrefix_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, statPrefix_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.Route)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.Route other = (io.envoyproxy.envoy.config.route.v3.Route) obj;
if (!getName()
.equals(other.getName())) return false;
if (hasMatch() != other.hasMatch()) return false;
if (hasMatch()) {
if (!getMatch()
.equals(other.getMatch())) return false;
}
if (hasMetadata() != other.hasMetadata()) return false;
if (hasMetadata()) {
if (!getMetadata()
.equals(other.getMetadata())) return false;
}
if (hasDecorator() != other.hasDecorator()) return false;
if (hasDecorator()) {
if (!getDecorator()
.equals(other.getDecorator())) return false;
}
if (!internalGetTypedPerFilterConfig().equals(
other.internalGetTypedPerFilterConfig())) return false;
if (!getRequestHeadersToAddList()
.equals(other.getRequestHeadersToAddList())) return false;
if (!getRequestHeadersToRemoveList()
.equals(other.getRequestHeadersToRemoveList())) return false;
if (!getResponseHeadersToAddList()
.equals(other.getResponseHeadersToAddList())) return false;
if (!getResponseHeadersToRemoveList()
.equals(other.getResponseHeadersToRemoveList())) return false;
if (hasTracing() != other.hasTracing()) return false;
if (hasTracing()) {
if (!getTracing()
.equals(other.getTracing())) return false;
}
if (hasPerRequestBufferLimitBytes() != other.hasPerRequestBufferLimitBytes()) return false;
if (hasPerRequestBufferLimitBytes()) {
if (!getPerRequestBufferLimitBytes()
.equals(other.getPerRequestBufferLimitBytes())) return false;
}
if (!getStatPrefix()
.equals(other.getStatPrefix())) return false;
if (!getActionCase().equals(other.getActionCase())) return false;
switch (actionCase_) {
case 2:
if (!getRoute()
.equals(other.getRoute())) return false;
break;
case 3:
if (!getRedirect()
.equals(other.getRedirect())) return false;
break;
case 7:
if (!getDirectResponse()
.equals(other.getDirectResponse())) return false;
break;
case 17:
if (!getFilterAction()
.equals(other.getFilterAction())) return false;
break;
case 18:
if (!getNonForwardingAction()
.equals(other.getNonForwardingAction())) return false;
break;
case 0:
default:
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + NAME_FIELD_NUMBER;
hash = (53 * hash) + getName().hashCode();
if (hasMatch()) {
hash = (37 * hash) + MATCH_FIELD_NUMBER;
hash = (53 * hash) + getMatch().hashCode();
}
if (hasMetadata()) {
hash = (37 * hash) + METADATA_FIELD_NUMBER;
hash = (53 * hash) + getMetadata().hashCode();
}
if (hasDecorator()) {
hash = (37 * hash) + DECORATOR_FIELD_NUMBER;
hash = (53 * hash) + getDecorator().hashCode();
}
if (!internalGetTypedPerFilterConfig().getMap().isEmpty()) {
hash = (37 * hash) + TYPED_PER_FILTER_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + internalGetTypedPerFilterConfig().hashCode();
}
if (getRequestHeadersToAddCount() > 0) {
hash = (37 * hash) + REQUEST_HEADERS_TO_ADD_FIELD_NUMBER;
hash = (53 * hash) + getRequestHeadersToAddList().hashCode();
}
if (getRequestHeadersToRemoveCount() > 0) {
hash = (37 * hash) + REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER;
hash = (53 * hash) + getRequestHeadersToRemoveList().hashCode();
}
if (getResponseHeadersToAddCount() > 0) {
hash = (37 * hash) + RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER;
hash = (53 * hash) + getResponseHeadersToAddList().hashCode();
}
if (getResponseHeadersToRemoveCount() > 0) {
hash = (37 * hash) + RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER;
hash = (53 * hash) + getResponseHeadersToRemoveList().hashCode();
}
if (hasTracing()) {
hash = (37 * hash) + TRACING_FIELD_NUMBER;
hash = (53 * hash) + getTracing().hashCode();
}
if (hasPerRequestBufferLimitBytes()) {
hash = (37 * hash) + PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER;
hash = (53 * hash) + getPerRequestBufferLimitBytes().hashCode();
}
hash = (37 * hash) + STAT_PREFIX_FIELD_NUMBER;
hash = (53 * hash) + getStatPrefix().hashCode();
switch (actionCase_) {
case 2:
hash = (37 * hash) + ROUTE_FIELD_NUMBER;
hash = (53 * hash) + getRoute().hashCode();
break;
case 3:
hash = (37 * hash) + REDIRECT_FIELD_NUMBER;
hash = (53 * hash) + getRedirect().hashCode();
break;
case 7:
hash = (37 * hash) + DIRECT_RESPONSE_FIELD_NUMBER;
hash = (53 * hash) + getDirectResponse().hashCode();
break;
case 17:
hash = (37 * hash) + FILTER_ACTION_FIELD_NUMBER;
hash = (53 * hash) + getFilterAction().hashCode();
break;
case 18:
hash = (37 * hash) + NON_FORWARDING_ACTION_FIELD_NUMBER;
hash = (53 * hash) + getNonForwardingAction().hashCode();
break;
case 0:
default:
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.Route prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
* A route is both a specification of how to match a request as well as an indication of what to do
* next (e.g., redirect, forward, rewrite, etc.).
* .. attention::
* Envoy supports routing on HTTP method via :ref:`header matching
* <envoy_v3_api_msg_config.route.v3.HeaderMatcher>`.
* [#next-free-field: 20]
*
*
* string name = 14;
* @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
name_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
* Name for the route.
*
*
* string name = 14;
* @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
name_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* Name for the route.
*
*
* string name = 14;
* @param value The name to set.
* @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
name_ = value;
onChanged();
return this;
}
/**
*
* Name for the route.
*
*
* string name = 14;
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
onChanged();
return this;
}
/**
*
* Name for the route.
*
*
* string name = 14;
* @param value The bytes for name to set.
* @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
name_ = value;
onChanged();
return this;
}
private io.envoyproxy.envoy.config.route.v3.RouteMatch match_;
private com.google.protobuf.SingleFieldBuilderV3<
io.envoyproxy.envoy.config.route.v3.RouteMatch, io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder, io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder> matchBuilder_;
/**
*
* Route matching parameters.
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
* @return Whether the match field is set.
*/
public boolean hasMatch() {
return matchBuilder_ != null || match_ != null;
}
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return Whether the filterAction field is set.
*/
@java.lang.Override
public boolean hasFilterAction() {
return actionCase_ == 17;
}
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return The filterAction.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.FilterAction getFilterAction() {
if (filterActionBuilder_ == null) {
if (actionCase_ == 17) {
return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance();
} else {
if (actionCase_ == 17) {
return filterActionBuilder_.getMessage();
}
return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance();
}
}
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return Whether the nonForwardingAction field is set.
*/
@java.lang.Override
public boolean hasNonForwardingAction() {
return actionCase_ == 18;
}
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return The nonForwardingAction.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.NonForwardingAction getNonForwardingAction() {
if (nonForwardingActionBuilder_ == null) {
if (actionCase_ == 18) {
return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_;
}
return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance();
} else {
if (actionCase_ == 18) {
return nonForwardingActionBuilder_.getMessage();
}
return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance();
}
}
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
* @return Whether the metadata field is set.
*/
public boolean hasMetadata() {
return metadataBuilder_ != null || metadata_ != null;
}
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
*/
public Builder setMetadata(io.envoyproxy.envoy.config.core.v3.Metadata value) {
if (metadataBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
metadata_ = value;
onChanged();
} else {
metadataBuilder_.setMessage(value);
}
return this;
}
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
@java.lang.Override
public boolean containsTypedPerFilterConfig(
java.lang.String key) {
if (key == null) { throw new NullPointerException("map key"); }
return internalGetTypedPerFilterConfig().getMap().containsKey(key);
}
/**
* Use {@link #getTypedPerFilterConfigMap()} instead.
*/
@java.lang.Override
@java.lang.Deprecated
public java.util.Map getTypedPerFilterConfig() {
return getTypedPerFilterConfigMap();
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
@java.lang.Override
public com.google.protobuf.Any getTypedPerFilterConfigOrThrow(
java.lang.String key) {
if (key == null) { throw new NullPointerException("map key"); }
java.util.Map map =
internalGetTypedPerFilterConfig().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public Builder clearTypedPerFilterConfig() {
internalGetMutableTypedPerFilterConfig().getMutableMap()
.clear();
return this;
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
public Builder removeTypedPerFilterConfig(
java.lang.String key) {
if (key == null) { throw new NullPointerException("map key"); }
internalGetMutableTypedPerFilterConfig().getMutableMap()
.remove(key);
return this;
}
/**
* Use alternate mutation accessors instead.
*/
@java.lang.Deprecated
public java.util.Map
getMutableTypedPerFilterConfig() {
return internalGetMutableTypedPerFilterConfig().getMutableMap();
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
public Builder putTypedPerFilterConfig(
java.lang.String key,
com.google.protobuf.Any value) {
if (key == null) { throw new NullPointerException("map key"); }
if (value == null) {
throw new NullPointerException("map value");
}
internalGetMutableTypedPerFilterConfig().getMutableMap()
.put(key, value);
return this;
}
/**
*
* The per_filter_config field can be used to provide route-specific configurations for filters.
* The key should match the :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
* be used for the backwards compatibility. If there is no entry referred by the filter config name, the
* entry referred by the canonical filter name will be provided to the filters as fallback.
* Use of this field is filter specific;
* see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
public Builder setRequestHeadersToAdd(
int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) {
if (requestHeadersToAddBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRequestHeadersToAddIsMutable();
requestHeadersToAdd_.set(index, value);
onChanged();
} else {
requestHeadersToAddBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
public Builder addRequestHeadersToAdd(
int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) {
if (requestHeadersToAddBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRequestHeadersToAddIsMutable();
requestHeadersToAdd_.add(index, value);
onChanged();
} else {
requestHeadersToAddBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return A list containing the requestHeadersToRemove.
*/
public com.google.protobuf.ProtocolStringList
getRequestHeadersToRemoveList() {
return requestHeadersToRemove_.getUnmodifiableView();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return The count of requestHeadersToRemove.
*/
public int getRequestHeadersToRemoveCount() {
return requestHeadersToRemove_.size();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The requestHeadersToRemove at the given index.
*/
public java.lang.String getRequestHeadersToRemove(int index) {
return requestHeadersToRemove_.get(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the requestHeadersToRemove at the given index.
*/
public com.google.protobuf.ByteString
getRequestHeadersToRemoveBytes(int index) {
return requestHeadersToRemove_.getByteString(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index to set the value at.
* @param value The requestHeadersToRemove to set.
* @return This builder for chaining.
*/
public Builder setRequestHeadersToRemove(
int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureRequestHeadersToRemoveIsMutable();
requestHeadersToRemove_.set(index, value);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param value The requestHeadersToRemove to add.
* @return This builder for chaining.
*/
public Builder addRequestHeadersToRemove(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureRequestHeadersToRemoveIsMutable();
requestHeadersToRemove_.add(value);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param values The requestHeadersToRemove to add.
* @return This builder for chaining.
*/
public Builder addAllRequestHeadersToRemove(
java.lang.Iterable values) {
ensureRequestHeadersToRemoveIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, requestHeadersToRemove_);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param value The bytes of the requestHeadersToRemove to add.
* @return This builder for chaining.
*/
public Builder addRequestHeadersToRemoveBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureRequestHeadersToRemoveIsMutable();
requestHeadersToRemove_.add(value);
onChanged();
return this;
}
private java.util.List responseHeadersToAdd_ =
java.util.Collections.emptyList();
private void ensureResponseHeadersToAddIsMutable() {
if (!((bitField0_ & 0x00000008) != 0)) {
responseHeadersToAdd_ = new java.util.ArrayList(responseHeadersToAdd_);
bitField0_ |= 0x00000008;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> responseHeadersToAddBuilder_;
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
public Builder setResponseHeadersToAdd(
int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) {
if (responseHeadersToAddBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureResponseHeadersToAddIsMutable();
responseHeadersToAdd_.set(index, value);
onChanged();
} else {
responseHeadersToAddBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
public Builder addResponseHeadersToAdd(
int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) {
if (responseHeadersToAddBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureResponseHeadersToAddIsMutable();
responseHeadersToAdd_.add(index, value);
onChanged();
} else {
responseHeadersToAddBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return A list containing the responseHeadersToRemove.
*/
public com.google.protobuf.ProtocolStringList
getResponseHeadersToRemoveList() {
return responseHeadersToRemove_.getUnmodifiableView();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return The count of responseHeadersToRemove.
*/
public int getResponseHeadersToRemoveCount() {
return responseHeadersToRemove_.size();
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The responseHeadersToRemove at the given index.
*/
public java.lang.String getResponseHeadersToRemove(int index) {
return responseHeadersToRemove_.get(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the responseHeadersToRemove at the given index.
*/
public com.google.protobuf.ByteString
getResponseHeadersToRemoveBytes(int index) {
return responseHeadersToRemove_.getByteString(index);
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index to set the value at.
* @param value The responseHeadersToRemove to set.
* @return This builder for chaining.
*/
public Builder setResponseHeadersToRemove(
int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureResponseHeadersToRemoveIsMutable();
responseHeadersToRemove_.set(index, value);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param value The responseHeadersToRemove to add.
* @return This builder for chaining.
*/
public Builder addResponseHeadersToRemove(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureResponseHeadersToRemoveIsMutable();
responseHeadersToRemove_.add(value);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param values The responseHeadersToRemove to add.
* @return This builder for chaining.
*/
public Builder addAllResponseHeadersToRemove(
java.lang.Iterable values) {
ensureResponseHeadersToRemoveIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, responseHeadersToRemove_);
onChanged();
return this;
}
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
* @return Whether the perRequestBufferLimitBytes field is set.
*/
public boolean hasPerRequestBufferLimitBytes() {
return perRequestBufferLimitBytesBuilder_ != null || perRequestBufferLimitBytes_ != null;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
*/
public Builder setPerRequestBufferLimitBytes(com.google.protobuf.UInt32Value value) {
if (perRequestBufferLimitBytesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
perRequestBufferLimitBytes_ = value;
onChanged();
} else {
perRequestBufferLimitBytesBuilder_.setMessage(value);
}
return this;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @return The bytes for statPrefix.
*/
public com.google.protobuf.ByteString
getStatPrefixBytes() {
java.lang.Object ref = statPrefix_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
statPrefix_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @param value The statPrefix to set.
* @return This builder for chaining.
*/
public Builder setStatPrefix(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
statPrefix_ = value;
onChanged();
return this;
}
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @return This builder for chaining.
*/
public Builder clearStatPrefix() {
statPrefix_ = getDefaultInstance().getStatPrefix();
onChanged();
return this;
}
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @param value The bytes for statPrefix to set.
* @return This builder for chaining.
*/
public Builder setStatPrefixBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
statPrefix_ = value;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:envoy.config.route.v3.Route)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.Route)
private static final io.envoyproxy.envoy.config.route.v3.Route DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.Route();
}
public static io.envoyproxy.envoy.config.route.v3.Route getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public Route parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new Route(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.Route getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}