.. _envoy_api_file_envoy/config/filter/http/transcoder/v2/transcoder.proto: gRPC-JSON transcoder ==================== gRPC-JSON transcoder :ref:`configuration overview `. .. _envoy_api_msg_config.filter.http.transcoder.v2.GrpcJsonTranscoder: config.filter.http.transcoder.v2.GrpcJsonTranscoder --------------------------------------------------- `[config.filter.http.transcoder.v2.GrpcJsonTranscoder proto] `_ .. code-block:: json { "proto_descriptor": "...", "proto_descriptor_bin": "...", "services": [], "print_options": "{...}", "match_incoming_request_route": "..." } .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.proto_descriptor: proto_descriptor (`string `_) Supplies the filename of :ref:`the proto descriptor set ` for the gRPC services. Precisely one of :ref:`proto_descriptor `, :ref:`proto_descriptor_bin ` must be set. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.proto_descriptor_bin: proto_descriptor_bin (`bytes `_) Supplies the binary content of :ref:`the proto descriptor set ` for the gRPC services. Precisely one of :ref:`proto_descriptor `, :ref:`proto_descriptor_bin ` must be set. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.services: services (`string `_, *REQUIRED*) 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. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.print_options: print_options (:ref:`config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions `) Control options for response JSON. These options are passed directly to `JsonPrintOptions `_. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.match_incoming_request_route: match_incoming_request_route (`bool `_) 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*. .. _envoy_api_msg_config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions: config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions ---------------------------------------------------------------- `[config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions proto] `_ .. code-block:: json { "add_whitespace": "...", "always_print_primitive_fields": "...", "always_print_enums_as_ints": "...", "preserve_proto_field_names": "..." } .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions.add_whitespace: add_whitespace (`bool `_) Whether to add spaces, line breaks and indentation to make the JSON output easy to read. Defaults to false. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions.always_print_primitive_fields: always_print_primitive_fields (`bool `_) Whether to always print primitive fields. By default primitive fields with default values will be omitted in JSON output. For example, an int32 field set to 0 will be omitted. Setting this flag to true will override the default behavior and print primitive fields regardless of their values. Defaults to false. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions.always_print_enums_as_ints: always_print_enums_as_ints (`bool `_) Whether to always print enums as ints. By default they are rendered as strings. Defaults to false. .. _envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions.preserve_proto_field_names: preserve_proto_field_names (`bool `_) Whether to preserve proto field names. By default protobuf will generate JSON field names using the ``json_name`` option, or lower camel case, in that order. Setting this flag will preserve the original field names. Defaults to false.