public interface GrpcJsonTranscoderOrBuilder
extends com.google.protobuf.MessageOrBuilder
| Modifier and Type | Method and Description |
|---|---|
boolean |
getAutoMapping()
Whether to route methods without the ``google.api.http`` option.
|
boolean |
getConvertGrpcStatus()
Whether to convert gRPC status headers to JSON.
|
GrpcJsonTranscoder.DescriptorSetCase |
getDescriptorSetCase() |
String |
getIgnoredQueryParameters(int index)
A list of query parameters to be ignored for transcoding method mapping.
|
com.google.protobuf.ByteString |
getIgnoredQueryParametersBytes(int index)
A list of query parameters to be ignored for transcoding method mapping.
|
int |
getIgnoredQueryParametersCount()
A list of query parameters to be ignored for transcoding method mapping.
|
List<String> |
getIgnoredQueryParametersList()
A list of query parameters to be ignored for transcoding method mapping.
|
boolean |
getIgnoreUnknownQueryParameters()
Whether to ignore query parameters that cannot be mapped to a corresponding
protobuf field.
|
boolean |
getMatchIncomingRequestRoute()
Whether to keep the incoming request route after the outgoing headers have been transformed to
the match the upstream gRPC service.
|
GrpcJsonTranscoder.PrintOptions |
getPrintOptions()
Control options for response JSON.
|
GrpcJsonTranscoder.PrintOptionsOrBuilder |
getPrintOptionsOrBuilder()
Control options for response JSON.
|
String |
getProtoDescriptor()
Supplies the filename of
:ref:`the proto descriptor set <config_grpc_json_generate_proto_descriptor_set>` for the gRPC
services.
|
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.
|
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 |
getServices(int index)
A list of strings that
supplies the fully qualified service names (i.e.
|
com.google.protobuf.ByteString |
getServicesBytes(int index)
A list of strings that
supplies the fully qualified service names (i.e.
|
int |
getServicesCount()
A list of strings that
supplies the fully qualified service names (i.e.
|
List<String> |
getServicesList()
A list of strings that
supplies the fully qualified service names (i.e.
|
GrpcJsonTranscoder.UrlUnescapeSpec |
getUrlUnescapeSpec()
URL unescaping policy.
|
int |
getUrlUnescapeSpecValue()
URL unescaping policy.
|
boolean |
hasPrintOptions()
Control options for response JSON.
|
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneofString 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;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;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;List<String> 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.
repeated string services = 2 [(.validate.rules) = { ... }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.
repeated string services = 2 [(.validate.rules) = { ... }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.
repeated string services = 2 [(.validate.rules) = { ... }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.
repeated string services = 2 [(.validate.rules) = { ... }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;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;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;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;List<String> 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;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;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;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;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;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;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;int getUrlUnescapeSpecValue()
URL unescaping policy.
This spec is only applied when extracting variable with multiple segments.
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_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) = { ... }GrpcJsonTranscoder.UrlUnescapeSpec getUrlUnescapeSpec()
URL unescaping policy.
This spec is only applied when extracting variable with multiple segments.
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_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) = { ... }GrpcJsonTranscoder.DescriptorSetCase getDescriptorSetCase()
Copyright © 2018–2021 The Envoy Project. All rights reserved.