Class GrpcJsonTranscoder
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,GrpcJsonTranscoderOrBuilder,Serializable
public final class GrpcJsonTranscoder
extends com.google.protobuf.GeneratedMessageV3
implements GrpcJsonTranscoderOrBuilder
[#next-free-field: 18] GrpcJsonTranscoder filter configuration. The filter itself can be used per route / per virtual host or on the general level. The most specific one is being used for a given route. If the list of services is empty - filter is considered to be disabled. Note that if specifying the filter per route, first the route is matched, and then transcoding filter is applied. It matters when specifying the route configuration and paths to match the request - for per-route grpc transcoder configs, the original path should be matched, while in other cases, the grpc-like path is expected (the one AFTER the filter is applied).Protobuf type
envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class[#next-free-field: 18] GrpcJsonTranscoder filter configuration.static enumstatic final class[#next-free-field: 7]static interfacestatic final classProtobuf typeenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptionsstatic interfacestatic enumProtobuf enumenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpecNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanWhether to route methods without the ``google.api.http`` option.booleanIf true, query parameters that cannot be mapped to a corresponding protobuf field are captured in an HttpBody extension of UnknownQueryParams.booleanProto enum values are supposed to be in upper cases when used in JSON.booleanWhether to convert gRPC status headers to JSON.static GrpcJsonTranscoderstatic final com.google.protobuf.Descriptors.DescriptorgetIgnoredQueryParameters(int index) A list of query parameters to be ignored for transcoding method mapping.com.google.protobuf.ByteStringgetIgnoredQueryParametersBytes(int index) A list of query parameters to be ignored for transcoding method mapping.intA list of query parameters to be ignored for transcoding method mapping.com.google.protobuf.ProtocolStringListA list of query parameters to be ignored for transcoding method mapping.booleanWhether to ignore query parameters that cannot be mapped to a corresponding protobuf field.booleanWhether to keep the incoming request route after the outgoing headers have been transformed to the match the upstream gRPC service.booleanIf true, try to match the custom verb even if it is unregistered.com.google.protobuf.UInt32ValueThe maximum size of a request body to be transcoded, in bytes.com.google.protobuf.UInt32ValueOrBuilderThe maximum size of a request body to be transcoded, in bytes.com.google.protobuf.UInt32ValueThe maximum size of a response body to be transcoded, in bytes.com.google.protobuf.UInt32ValueOrBuilderThe maximum size of a response body to be transcoded, in bytes.com.google.protobuf.Parser<GrpcJsonTranscoder>Control options for response JSON.Control options for response JSON.Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.com.google.protobuf.ByteStringSupplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.com.google.protobuf.ByteStringSupplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleanIf true, unescape '+' to space when extracting variables in query parameters.Configure the behavior when handling requests that cannot be transcoded.Configure the behavior when handling requests that cannot be transcoded.intgetServices(int index) A list of strings that supplies the fully qualified service names (i.e.com.google.protobuf.ByteStringgetServicesBytes(int index) A list of strings that supplies the fully qualified service names (i.e.intA list of strings that supplies the fully qualified service names (i.e.com.google.protobuf.ProtocolStringListA list of strings that supplies the fully qualified service names (i.e.URL unescaping policy.intURL unescaping policy.inthashCode()booleanThe maximum size of a request body to be transcoded, in bytes.booleanThe maximum size of a response body to be transcoded, in bytes.booleanControl options for response JSON.booleanSupplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleanSupplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleanConfigure the behavior when handling requests that cannot be transcoded.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic GrpcJsonTranscoder.Builderstatic GrpcJsonTranscoder.BuildernewBuilder(GrpcJsonTranscoder prototype) protected GrpcJsonTranscoder.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static GrpcJsonTranscoderparseDelimitedFrom(InputStream input) static GrpcJsonTranscoderparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static GrpcJsonTranscoderparseFrom(byte[] data) static GrpcJsonTranscoderparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static GrpcJsonTranscoderparseFrom(com.google.protobuf.ByteString data) static GrpcJsonTranscoderparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static GrpcJsonTranscoderparseFrom(com.google.protobuf.CodedInputStream input) static GrpcJsonTranscoderparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static GrpcJsonTranscoderparseFrom(InputStream input) static GrpcJsonTranscoderparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static GrpcJsonTranscoderparseFrom(ByteBuffer data) static GrpcJsonTranscoderparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<GrpcJsonTranscoder>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
PROTO_DESCRIPTOR_FIELD_NUMBER
public static final int PROTO_DESCRIPTOR_FIELD_NUMBER- See Also:
-
PROTO_DESCRIPTOR_BIN_FIELD_NUMBER
public static final int PROTO_DESCRIPTOR_BIN_FIELD_NUMBER- See Also:
-
SERVICES_FIELD_NUMBER
public static final int SERVICES_FIELD_NUMBER- See Also:
-
PRINT_OPTIONS_FIELD_NUMBER
public static final int PRINT_OPTIONS_FIELD_NUMBER- See Also:
-
MATCH_INCOMING_REQUEST_ROUTE_FIELD_NUMBER
public static final int MATCH_INCOMING_REQUEST_ROUTE_FIELD_NUMBER- See Also:
-
IGNORED_QUERY_PARAMETERS_FIELD_NUMBER
public static final int IGNORED_QUERY_PARAMETERS_FIELD_NUMBER- See Also:
-
AUTO_MAPPING_FIELD_NUMBER
public static final int AUTO_MAPPING_FIELD_NUMBER- See Also:
-
IGNORE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER
public static final int IGNORE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER- See Also:
-
CONVERT_GRPC_STATUS_FIELD_NUMBER
public static final int CONVERT_GRPC_STATUS_FIELD_NUMBER- See Also:
-
URL_UNESCAPE_SPEC_FIELD_NUMBER
public static final int URL_UNESCAPE_SPEC_FIELD_NUMBER- See Also:
-
QUERY_PARAM_UNESCAPE_PLUS_FIELD_NUMBER
public static final int QUERY_PARAM_UNESCAPE_PLUS_FIELD_NUMBER- See Also:
-
MATCH_UNREGISTERED_CUSTOM_VERB_FIELD_NUMBER
public static final int MATCH_UNREGISTERED_CUSTOM_VERB_FIELD_NUMBER- See Also:
-
REQUEST_VALIDATION_OPTIONS_FIELD_NUMBER
public static final int REQUEST_VALIDATION_OPTIONS_FIELD_NUMBER- See Also:
-
CASE_INSENSITIVE_ENUM_PARSING_FIELD_NUMBER
public static final int CASE_INSENSITIVE_ENUM_PARSING_FIELD_NUMBER- See Also:
-
MAX_REQUEST_BODY_SIZE_FIELD_NUMBER
public static final int MAX_REQUEST_BODY_SIZE_FIELD_NUMBER- See Also:
-
MAX_RESPONSE_BODY_SIZE_FIELD_NUMBER
public static final int MAX_RESPONSE_BODY_SIZE_FIELD_NUMBER- See Also:
-
CAPTURE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER
public static final int CAPTURE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptorSetCase
- Specified by:
getDescriptorSetCasein interfaceGrpcJsonTranscoderOrBuilder
-
hasProtoDescriptor
public boolean hasProtoDescriptor()Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.
string proto_descriptor = 1;- Specified by:
hasProtoDescriptorin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the protoDescriptor field is set.
-
getProtoDescriptor
Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.
string proto_descriptor = 1;- Specified by:
getProtoDescriptorin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The protoDescriptor.
-
getProtoDescriptorBytes
public com.google.protobuf.ByteString getProtoDescriptorBytes()Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.
string proto_descriptor = 1;- Specified by:
getProtoDescriptorBytesin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The bytes for protoDescriptor.
-
hasProtoDescriptorBin
public boolean hasProtoDescriptorBin()Supplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.
bytes proto_descriptor_bin = 4;- Specified by:
hasProtoDescriptorBinin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the protoDescriptorBin field is set.
-
getProtoDescriptorBin
public com.google.protobuf.ByteString getProtoDescriptorBin()Supplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.
bytes proto_descriptor_bin = 4;- Specified by:
getProtoDescriptorBinin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The protoDescriptorBin.
-
getServicesList
public com.google.protobuf.ProtocolStringList getServicesList()A list of strings that supplies the fully qualified service names (i.e. "package_name.service_name") that the transcoder will translate. If the service name doesn't exist in ``proto_descriptor``, Envoy will fail at startup. The ``proto_descriptor`` may contain more services than the service names specified here, but they won't be translated. By default, the filter will pass through requests that do not map to any specified services. If the list of services is empty, filter is considered disabled. However, this behavior changes if :ref:`reject_unknown_method <envoy_v3_api_field_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions.reject_unknown_method>` is enabled.
repeated string services = 2;- Specified by:
getServicesListin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- A list containing the services.
-
getServicesCount
public int getServicesCount()A list of strings that supplies the fully qualified service names (i.e. "package_name.service_name") that the transcoder will translate. If the service name doesn't exist in ``proto_descriptor``, Envoy will fail at startup. The ``proto_descriptor`` may contain more services than the service names specified here, but they won't be translated. By default, the filter will pass through requests that do not map to any specified services. If the list of services is empty, filter is considered disabled. However, this behavior changes if :ref:`reject_unknown_method <envoy_v3_api_field_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions.reject_unknown_method>` is enabled.
repeated string services = 2;- Specified by:
getServicesCountin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The count of services.
-
getServices
A list of strings that supplies the fully qualified service names (i.e. "package_name.service_name") that the transcoder will translate. If the service name doesn't exist in ``proto_descriptor``, Envoy will fail at startup. The ``proto_descriptor`` may contain more services than the service names specified here, but they won't be translated. By default, the filter will pass through requests that do not map to any specified services. If the list of services is empty, filter is considered disabled. However, this behavior changes if :ref:`reject_unknown_method <envoy_v3_api_field_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions.reject_unknown_method>` is enabled.
repeated string services = 2;- Specified by:
getServicesin interfaceGrpcJsonTranscoderOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The services at the given index.
-
getServicesBytes
public com.google.protobuf.ByteString getServicesBytes(int index) A list of strings that supplies the fully qualified service names (i.e. "package_name.service_name") that the transcoder will translate. If the service name doesn't exist in ``proto_descriptor``, Envoy will fail at startup. The ``proto_descriptor`` may contain more services than the service names specified here, but they won't be translated. By default, the filter will pass through requests that do not map to any specified services. If the list of services is empty, filter is considered disabled. However, this behavior changes if :ref:`reject_unknown_method <envoy_v3_api_field_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions.reject_unknown_method>` is enabled.
repeated string services = 2;- Specified by:
getServicesBytesin interfaceGrpcJsonTranscoderOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the services at the given index.
-
hasPrintOptions
public boolean hasPrintOptions()Control options for response JSON. These options are passed directly to `JsonPrintOptions <https://developers.google.com/protocol-buffers/docs/reference/cpp/ google.protobuf.util.json_util#JsonPrintOptions>`_.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptions print_options = 3;- Specified by:
hasPrintOptionsin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the printOptions field is set.
-
getPrintOptions
Control options for response JSON. These options are passed directly to `JsonPrintOptions <https://developers.google.com/protocol-buffers/docs/reference/cpp/ google.protobuf.util.json_util#JsonPrintOptions>`_.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptions print_options = 3;- Specified by:
getPrintOptionsin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The printOptions.
-
getPrintOptionsOrBuilder
Control options for response JSON. These options are passed directly to `JsonPrintOptions <https://developers.google.com/protocol-buffers/docs/reference/cpp/ google.protobuf.util.json_util#JsonPrintOptions>`_.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptions print_options = 3;- Specified by:
getPrintOptionsOrBuilderin interfaceGrpcJsonTranscoderOrBuilder
-
getMatchIncomingRequestRoute
public boolean getMatchIncomingRequestRoute()Whether to keep the incoming request route after the outgoing headers have been transformed to the match the upstream gRPC service. Note: This means that routes for gRPC services that are not transcoded cannot be used in combination with ``match_incoming_request_route``.
bool match_incoming_request_route = 5;- Specified by:
getMatchIncomingRequestRoutein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The matchIncomingRequestRoute.
-
getIgnoredQueryParametersList
public com.google.protobuf.ProtocolStringList getIgnoredQueryParametersList()A list of query parameters to be ignored for transcoding method mapping. By default, the transcoder filter will not transcode a request if there are any unknown/invalid query parameters. Example : .. code-block:: proto service Bookstore { rpc GetShelf(GetShelfRequest) returns (Shelf) { option (google.api.http) = { get: "/shelves/{shelf}" }; } } message GetShelfRequest { int64 shelf = 1; } message Shelf {} The request ``/shelves/100?foo=bar`` will not be mapped to ``GetShelf``` because variable binding for ``foo`` is not defined. Adding ``foo`` to ``ignored_query_parameters`` will allow the same request to be mapped to ``GetShelf``.repeated string ignored_query_parameters = 6;- Specified by:
getIgnoredQueryParametersListin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- A list containing the ignoredQueryParameters.
-
getIgnoredQueryParametersCount
public int getIgnoredQueryParametersCount()A list of query parameters to be ignored for transcoding method mapping. By default, the transcoder filter will not transcode a request if there are any unknown/invalid query parameters. Example : .. code-block:: proto service Bookstore { rpc GetShelf(GetShelfRequest) returns (Shelf) { option (google.api.http) = { get: "/shelves/{shelf}" }; } } message GetShelfRequest { int64 shelf = 1; } message Shelf {} The request ``/shelves/100?foo=bar`` will not be mapped to ``GetShelf``` because variable binding for ``foo`` is not defined. Adding ``foo`` to ``ignored_query_parameters`` will allow the same request to be mapped to ``GetShelf``.repeated string ignored_query_parameters = 6;- Specified by:
getIgnoredQueryParametersCountin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The count of ignoredQueryParameters.
-
getIgnoredQueryParameters
A list of query parameters to be ignored for transcoding method mapping. By default, the transcoder filter will not transcode a request if there are any unknown/invalid query parameters. Example : .. code-block:: proto service Bookstore { rpc GetShelf(GetShelfRequest) returns (Shelf) { option (google.api.http) = { get: "/shelves/{shelf}" }; } } message GetShelfRequest { int64 shelf = 1; } message Shelf {} The request ``/shelves/100?foo=bar`` will not be mapped to ``GetShelf``` because variable binding for ``foo`` is not defined. Adding ``foo`` to ``ignored_query_parameters`` will allow the same request to be mapped to ``GetShelf``.repeated string ignored_query_parameters = 6;- Specified by:
getIgnoredQueryParametersin interfaceGrpcJsonTranscoderOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The ignoredQueryParameters at the given index.
-
getIgnoredQueryParametersBytes
public com.google.protobuf.ByteString getIgnoredQueryParametersBytes(int index) A list of query parameters to be ignored for transcoding method mapping. By default, the transcoder filter will not transcode a request if there are any unknown/invalid query parameters. Example : .. code-block:: proto service Bookstore { rpc GetShelf(GetShelfRequest) returns (Shelf) { option (google.api.http) = { get: "/shelves/{shelf}" }; } } message GetShelfRequest { int64 shelf = 1; } message Shelf {} The request ``/shelves/100?foo=bar`` will not be mapped to ``GetShelf``` because variable binding for ``foo`` is not defined. Adding ``foo`` to ``ignored_query_parameters`` will allow the same request to be mapped to ``GetShelf``.repeated string ignored_query_parameters = 6;- Specified by:
getIgnoredQueryParametersBytesin interfaceGrpcJsonTranscoderOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the ignoredQueryParameters at the given index.
-
getAutoMapping
public boolean getAutoMapping()Whether to route methods without the ``google.api.http`` option. Example : .. code-block:: proto package bookstore; service Bookstore { rpc GetShelf(GetShelfRequest) returns (Shelf) {} } message GetShelfRequest { int64 shelf = 1; } message Shelf {} The client could ``post`` a json body ``{"shelf": 1234}`` with the path of ``/bookstore.Bookstore/GetShelfRequest`` to call ``GetShelfRequest``.bool auto_mapping = 7;- Specified by:
getAutoMappingin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The autoMapping.
-
getIgnoreUnknownQueryParameters
public boolean getIgnoreUnknownQueryParameters()Whether to ignore query parameters that cannot be mapped to a corresponding protobuf field. Use this if you cannot control the query parameters and do not know them beforehand. Otherwise use ``ignored_query_parameters``. Defaults to false.
bool ignore_unknown_query_parameters = 8;- Specified by:
getIgnoreUnknownQueryParametersin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The ignoreUnknownQueryParameters.
-
getConvertGrpcStatus
public boolean getConvertGrpcStatus()Whether to convert gRPC status headers to JSON. When trailer indicates a gRPC error and there was no HTTP body, take ``google.rpc.Status`` from the ``grpc-status-details-bin`` header and use it as JSON body. If there was no such header, make ``google.rpc.Status`` out of the ``grpc-status`` and ``grpc-message`` headers. The error details types must be present in the ``proto_descriptor``. For example, if an upstream server replies with headers: .. code-block:: none grpc-status: 5 grpc-status-details-bin: CAUaMwoqdHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucnBjLlJlcXVlc3RJbmZvEgUKA3ItMQ The ``grpc-status-details-bin`` header contains a base64-encoded protobuf message ``google.rpc.Status``. It will be transcoded into: .. code-block:: none HTTP/1.1 404 Not Found content-type: application/json {"code":5,"details":[{"@type":"type.googleapis.com/google.rpc.RequestInfo","requestId":"r-1"}]} In order to transcode the message, the ``google.rpc.RequestInfo`` type from the ``google/rpc/error_details.proto`` should be included in the configured :ref:`proto descriptor set <config_grpc_json_generate_proto_descriptor_set>`.bool convert_grpc_status = 9;- Specified by:
getConvertGrpcStatusin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The convertGrpcStatus.
-
getUrlUnescapeSpecValue
public int getUrlUnescapeSpecValue()URL unescaping policy. This spec is only applied when extracting variable with multiple segments in the URL path. For example, in case of ``/foo/{x=*}/bar/{y=prefix/*}/{z=**}`` ``x`` variable is single segment and ``y`` and ``z`` are multiple segments. For a path with ``/foo/first/bar/prefix/second/third/fourth``, ``x=first``, ``y=prefix/second``, ``z=third/fourth``. If this setting is not specified, the value defaults to :ref:`ALL_CHARACTERS_EXCEPT_RESERVED<envoy_v3_api_enum_value_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec.ALL_CHARACTERS_EXCEPT_RESERVED>`..envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec url_unescape_spec = 10 [(.validate.rules) = { ... }- Specified by:
getUrlUnescapeSpecValuein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The enum numeric value on the wire for urlUnescapeSpec.
-
getUrlUnescapeSpec
URL unescaping policy. This spec is only applied when extracting variable with multiple segments in the URL path. For example, in case of ``/foo/{x=*}/bar/{y=prefix/*}/{z=**}`` ``x`` variable is single segment and ``y`` and ``z`` are multiple segments. For a path with ``/foo/first/bar/prefix/second/third/fourth``, ``x=first``, ``y=prefix/second``, ``z=third/fourth``. If this setting is not specified, the value defaults to :ref:`ALL_CHARACTERS_EXCEPT_RESERVED<envoy_v3_api_enum_value_extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec.ALL_CHARACTERS_EXCEPT_RESERVED>`..envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec url_unescape_spec = 10 [(.validate.rules) = { ... }- Specified by:
getUrlUnescapeSpecin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The urlUnescapeSpec.
-
getQueryParamUnescapePlus
public boolean getQueryParamUnescapePlus()If true, unescape '+' to space when extracting variables in query parameters. This is to support `HTML 2.0 <https://tools.ietf.org/html/rfc1866#section-8.2.1>`_
bool query_param_unescape_plus = 12;- Specified by:
getQueryParamUnescapePlusin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The queryParamUnescapePlus.
-
getMatchUnregisteredCustomVerb
public boolean getMatchUnregisteredCustomVerb()If true, try to match the custom verb even if it is unregistered. By default, only match when it is registered. According to the http template `syntax <https://github.com/googleapis/googleapis/blob/master/google/api/http.proto#L226-L231>`_, the custom verb is **":" LITERAL** at the end of http template. For a request with ``/foo/bar:baz`` and ``:baz`` is not registered in any url_template, here is the behavior change - if the field is not set, ``:baz`` will not be treated as custom verb, so it will match ``/foo/{x=*}``. - if the field is set, ``:baz`` is treated as custom verb, so it will NOT match ``/foo/{x=*}`` since the template doesn't use any custom verb.bool match_unregistered_custom_verb = 13;- Specified by:
getMatchUnregisteredCustomVerbin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The matchUnregisteredCustomVerb.
-
hasRequestValidationOptions
public boolean hasRequestValidationOptions()Configure the behavior when handling requests that cannot be transcoded. By default, the transcoder will silently pass through HTTP requests that are malformed. This includes requests with unknown query parameters, unregister paths, etc. Set these options to enable strict HTTP request validation, resulting in the transcoder rejecting such requests with a ``HTTP 4xx``. See each individual option for more details on the validation. gRPC requests will still silently pass through without transcoding. The benefit is a proper error message to the downstream. If the upstream is a gRPC server, it cannot handle the passed-through HTTP requests and will reset the TCP connection. The downstream will then receive a ``HTTP 503 Service Unavailable`` due to the upstream connection reset. This incorrect error message may conflict with other Envoy components, such as retry policies.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions request_validation_options = 11;- Specified by:
hasRequestValidationOptionsin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the requestValidationOptions field is set.
-
getRequestValidationOptions
Configure the behavior when handling requests that cannot be transcoded. By default, the transcoder will silently pass through HTTP requests that are malformed. This includes requests with unknown query parameters, unregister paths, etc. Set these options to enable strict HTTP request validation, resulting in the transcoder rejecting such requests with a ``HTTP 4xx``. See each individual option for more details on the validation. gRPC requests will still silently pass through without transcoding. The benefit is a proper error message to the downstream. If the upstream is a gRPC server, it cannot handle the passed-through HTTP requests and will reset the TCP connection. The downstream will then receive a ``HTTP 503 Service Unavailable`` due to the upstream connection reset. This incorrect error message may conflict with other Envoy components, such as retry policies.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions request_validation_options = 11;- Specified by:
getRequestValidationOptionsin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The requestValidationOptions.
-
getRequestValidationOptionsOrBuilder
Configure the behavior when handling requests that cannot be transcoded. By default, the transcoder will silently pass through HTTP requests that are malformed. This includes requests with unknown query parameters, unregister paths, etc. Set these options to enable strict HTTP request validation, resulting in the transcoder rejecting such requests with a ``HTTP 4xx``. See each individual option for more details on the validation. gRPC requests will still silently pass through without transcoding. The benefit is a proper error message to the downstream. If the upstream is a gRPC server, it cannot handle the passed-through HTTP requests and will reset the TCP connection. The downstream will then receive a ``HTTP 503 Service Unavailable`` due to the upstream connection reset. This incorrect error message may conflict with other Envoy components, such as retry policies.
.envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions request_validation_options = 11;- Specified by:
getRequestValidationOptionsOrBuilderin interfaceGrpcJsonTranscoderOrBuilder
-
getCaseInsensitiveEnumParsing
public boolean getCaseInsensitiveEnumParsing()Proto enum values are supposed to be in upper cases when used in JSON. Set this to true if your JSON request uses non uppercase enum values.
bool case_insensitive_enum_parsing = 14;- Specified by:
getCaseInsensitiveEnumParsingin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The caseInsensitiveEnumParsing.
-
hasMaxRequestBodySize
public boolean hasMaxRequestBodySize()The maximum size of a request body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 413 Request Entity Too Large`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_request_body_size = 15 [(.validate.rules) = { ... }- Specified by:
hasMaxRequestBodySizein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the maxRequestBodySize field is set.
-
getMaxRequestBodySize
public com.google.protobuf.UInt32Value getMaxRequestBodySize()The maximum size of a request body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 413 Request Entity Too Large`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_request_body_size = 15 [(.validate.rules) = { ... }- Specified by:
getMaxRequestBodySizein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The maxRequestBodySize.
-
getMaxRequestBodySizeOrBuilder
public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestBodySizeOrBuilder()The maximum size of a request body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 413 Request Entity Too Large`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_request_body_size = 15 [(.validate.rules) = { ... }- Specified by:
getMaxRequestBodySizeOrBuilderin interfaceGrpcJsonTranscoderOrBuilder
-
hasMaxResponseBodySize
public boolean hasMaxResponseBodySize()The maximum size of a response body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 500 Internal Server Error`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_response_body_size = 16 [(.validate.rules) = { ... }- Specified by:
hasMaxResponseBodySizein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- Whether the maxResponseBodySize field is set.
-
getMaxResponseBodySize
public com.google.protobuf.UInt32Value getMaxResponseBodySize()The maximum size of a response body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 500 Internal Server Error`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_response_body_size = 16 [(.validate.rules) = { ... }- Specified by:
getMaxResponseBodySizein interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The maxResponseBodySize.
-
getMaxResponseBodySizeOrBuilder
public com.google.protobuf.UInt32ValueOrBuilder getMaxResponseBodySizeOrBuilder()The maximum size of a response body to be transcoded, in bytes. A body exceeding this size will provoke a ``HTTP 500 Internal Server Error`` response. Large values may cause envoy to use a lot of memory if there are many concurrent requests. If unset, the current stream buffer size is used.
.google.protobuf.UInt32Value max_response_body_size = 16 [(.validate.rules) = { ... }- Specified by:
getMaxResponseBodySizeOrBuilderin interfaceGrpcJsonTranscoderOrBuilder
-
getCaptureUnknownQueryParameters
public boolean getCaptureUnknownQueryParameters()If true, query parameters that cannot be mapped to a corresponding protobuf field are captured in an HttpBody extension of UnknownQueryParams.
bool capture_unknown_query_parameters = 17;- Specified by:
getCaptureUnknownQueryParametersin interfaceGrpcJsonTranscoderOrBuilder- Returns:
- The captureUnknownQueryParameters.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static GrpcJsonTranscoder parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static GrpcJsonTranscoder parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected GrpcJsonTranscoder.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-