Class 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: 10]
     
    Protobuf type envoy.config.filter.http.transcoder.v2.GrpcJsonTranscoder
    See Also:
    Serialized Form
    • 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
      • 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
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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:
        hasProtoDescriptor in interface GrpcJsonTranscoderOrBuilder
        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:
        getProtoDescriptor in interface GrpcJsonTranscoderOrBuilder
        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:
        getProtoDescriptorBytes in interface GrpcJsonTranscoderOrBuilder
        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:
        hasProtoDescriptorBin in interface GrpcJsonTranscoderOrBuilder
        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:
        getProtoDescriptorBin in interface GrpcJsonTranscoderOrBuilder
        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.
         
        repeated string services = 2 [(.validate.rules) = { ... }
        Specified by:
        getServicesList in interface GrpcJsonTranscoderOrBuilder
        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.
         
        repeated string services = 2 [(.validate.rules) = { ... }
        Specified by:
        getServicesCount in interface GrpcJsonTranscoderOrBuilder
        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.
         
        repeated string services = 2 [(.validate.rules) = { ... }
        Specified by:
        getServices in interface GrpcJsonTranscoderOrBuilder
        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.
         
        repeated string services = 2 [(.validate.rules) = { ... }
        Specified by:
        getServicesBytes in interface GrpcJsonTranscoderOrBuilder
        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.config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions print_options = 3;
        Specified by:
        hasPrintOptions in interface GrpcJsonTranscoderOrBuilder
        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.config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions print_options = 3;
        Specified by:
        getPrintOptions in interface GrpcJsonTranscoderOrBuilder
        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.config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions print_options = 3;
        Specified by:
        getPrintOptionsOrBuilder in interface GrpcJsonTranscoderOrBuilder
      • 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:
        getMatchIncomingRequestRoute in interface GrpcJsonTranscoderOrBuilder
        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:
        getIgnoredQueryParametersList in interface GrpcJsonTranscoderOrBuilder
        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:
        getIgnoredQueryParametersCount in interface GrpcJsonTranscoderOrBuilder
        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:
        getIgnoredQueryParameters in interface GrpcJsonTranscoderOrBuilder
        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:
        getIgnoredQueryParametersBytes in interface GrpcJsonTranscoderOrBuilder
        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:
        getAutoMapping in interface GrpcJsonTranscoderOrBuilder
        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:
        getIgnoreUnknownQueryParameters in interface GrpcJsonTranscoderOrBuilder
        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:
        getConvertGrpcStatus in interface GrpcJsonTranscoderOrBuilder
        Returns:
        The convertGrpcStatus.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.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​(com.google.protobuf.CodedInputStream input,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws IOException
        Throws:
        IOException
      • newBuilderForType

        public GrpcJsonTranscoder.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public GrpcJsonTranscoder.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected GrpcJsonTranscoder.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<GrpcJsonTranscoder> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public GrpcJsonTranscoder getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder