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: 14] 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 typeenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGrpcJsonTranscoder.Builder[#next-free-field: 14] GrpcJsonTranscoder filter configuration.static classGrpcJsonTranscoder.DescriptorSetCasestatic classGrpcJsonTranscoder.PrintOptionsProtobuf typeenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptionsstatic interfaceGrpcJsonTranscoder.PrintOptionsOrBuilderstatic classGrpcJsonTranscoder.RequestValidationOptionsProtobuf typeenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptionsstatic interfaceGrpcJsonTranscoder.RequestValidationOptionsOrBuilderstatic classGrpcJsonTranscoder.UrlUnescapeSpecProtobuf enumenvoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description static intAUTO_MAPPING_FIELD_NUMBERstatic intCONVERT_GRPC_STATUS_FIELD_NUMBERstatic intIGNORE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBERstatic intIGNORED_QUERY_PARAMETERS_FIELD_NUMBERstatic intMATCH_INCOMING_REQUEST_ROUTE_FIELD_NUMBERstatic intMATCH_UNREGISTERED_CUSTOM_VERB_FIELD_NUMBERstatic intPRINT_OPTIONS_FIELD_NUMBERstatic intPROTO_DESCRIPTOR_BIN_FIELD_NUMBERstatic intPROTO_DESCRIPTOR_FIELD_NUMBERstatic intQUERY_PARAM_UNESCAPE_PLUS_FIELD_NUMBERstatic intREQUEST_VALIDATION_OPTIONS_FIELD_NUMBERstatic intSERVICES_FIELD_NUMBERstatic intURL_UNESCAPE_SPEC_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)booleangetAutoMapping()Whether to route methods without the ``google.api.http`` option.booleangetConvertGrpcStatus()Whether to convert gRPC status headers to JSON.static GrpcJsonTranscodergetDefaultInstance()GrpcJsonTranscodergetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()GrpcJsonTranscoder.DescriptorSetCasegetDescriptorSetCase()StringgetIgnoredQueryParameters(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.intgetIgnoredQueryParametersCount()A list of query parameters to be ignored for transcoding method mapping.com.google.protobuf.ProtocolStringListgetIgnoredQueryParametersList()A list of query parameters to be ignored for transcoding method mapping.booleangetIgnoreUnknownQueryParameters()Whether to ignore query parameters that cannot be mapped to a corresponding protobuf field.booleangetMatchIncomingRequestRoute()Whether to keep the incoming request route after the outgoing headers have been transformed to the match the upstream gRPC service.booleangetMatchUnregisteredCustomVerb()If true, try to match the custom verb even if it is unregistered.com.google.protobuf.Parser<GrpcJsonTranscoder>getParserForType()GrpcJsonTranscoder.PrintOptionsgetPrintOptions()Control options for response JSON.GrpcJsonTranscoder.PrintOptionsOrBuildergetPrintOptionsOrBuilder()Control options for response JSON.StringgetProtoDescriptor()Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.com.google.protobuf.ByteStringgetProtoDescriptorBin()Supplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.com.google.protobuf.ByteStringgetProtoDescriptorBytes()Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleangetQueryParamUnescapePlus()If true, unescape '+' to space when extracting variables in query parameters.GrpcJsonTranscoder.RequestValidationOptionsgetRequestValidationOptions()Configure the behavior when handling requests that cannot be transcoded.GrpcJsonTranscoder.RequestValidationOptionsOrBuildergetRequestValidationOptionsOrBuilder()Configure the behavior when handling requests that cannot be transcoded.intgetSerializedSize()StringgetServices(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.intgetServicesCount()A list of strings that supplies the fully qualified service names (i.e.com.google.protobuf.ProtocolStringListgetServicesList()A list of strings that supplies the fully qualified service names (i.e.com.google.protobuf.UnknownFieldSetgetUnknownFields()GrpcJsonTranscoder.UrlUnescapeSpecgetUrlUnescapeSpec()URL unescaping policy.intgetUrlUnescapeSpecValue()URL unescaping policy.inthashCode()booleanhasPrintOptions()Control options for response JSON.booleanhasProtoDescriptor()Supplies the filename of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleanhasProtoDescriptorBin()Supplies the binary content of :ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC services.booleanhasRequestValidationOptions()Configure the behavior when handling requests that cannot be transcoded.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static GrpcJsonTranscoder.BuildernewBuilder()static GrpcJsonTranscoder.BuildernewBuilder(GrpcJsonTranscoder prototype)GrpcJsonTranscoder.BuildernewBuilderForType()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()GrpcJsonTranscoder.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
PROTO_DESCRIPTOR_FIELD_NUMBER
public static final int PROTO_DESCRIPTOR_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PROTO_DESCRIPTOR_BIN_FIELD_NUMBER
public static final int PROTO_DESCRIPTOR_BIN_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SERVICES_FIELD_NUMBER
public static final int SERVICES_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PRINT_OPTIONS_FIELD_NUMBER
public static final int PRINT_OPTIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
MATCH_INCOMING_REQUEST_ROUTE_FIELD_NUMBER
public static final int MATCH_INCOMING_REQUEST_ROUTE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
IGNORED_QUERY_PARAMETERS_FIELD_NUMBER
public static final int IGNORED_QUERY_PARAMETERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
AUTO_MAPPING_FIELD_NUMBER
public static final int AUTO_MAPPING_FIELD_NUMBER
- See Also:
- Constant Field Values
-
IGNORE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER
public static final int IGNORE_UNKNOWN_QUERY_PARAMETERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
CONVERT_GRPC_STATUS_FIELD_NUMBER
public static final int CONVERT_GRPC_STATUS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
URL_UNESCAPE_SPEC_FIELD_NUMBER
public static final int URL_UNESCAPE_SPEC_FIELD_NUMBER
- See Also:
- Constant Field Values
-
QUERY_PARAM_UNESCAPE_PLUS_FIELD_NUMBER
public static final int QUERY_PARAM_UNESCAPE_PLUS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
MATCH_UNREGISTERED_CUSTOM_VERB_FIELD_NUMBER
public static final int MATCH_UNREGISTERED_CUSTOM_VERB_FIELD_NUMBER
- See Also:
- Constant Field Values
-
REQUEST_VALIDATION_OPTIONS_FIELD_NUMBER
public static final int REQUEST_VALIDATION_OPTIONS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin 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
public GrpcJsonTranscoder.DescriptorSetCase 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
public String 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
public String getServices(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:
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
public GrpcJsonTranscoder.PrintOptions 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
public GrpcJsonTranscoder.PrintOptionsOrBuilder 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
public String getIgnoredQueryParameters(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:
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
public GrpcJsonTranscoder.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
public GrpcJsonTranscoder.RequestValidationOptions 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
public GrpcJsonTranscoder.RequestValidationOptionsOrBuilder 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
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException- 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
public boolean equals(Object obj)
- 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
public static GrpcJsonTranscoder parseFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static GrpcJsonTranscoder parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static GrpcJsonTranscoder parseDelimitedFrom(InputStream input) throws IOException
- 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
public GrpcJsonTranscoder.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
public static GrpcJsonTranscoder.Builder newBuilder()
-
newBuilder
public static GrpcJsonTranscoder.Builder newBuilder(GrpcJsonTranscoder prototype)
-
toBuilder
public GrpcJsonTranscoder.Builder 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
public static GrpcJsonTranscoder getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<GrpcJsonTranscoder> parser()
-
getParserForType
public com.google.protobuf.Parser<GrpcJsonTranscoder> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public GrpcJsonTranscoder getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-