grpc_json

package
v1.18.0-beta26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_grpc_json_grpc_json_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type GrpcJsonTranscoder

type GrpcJsonTranscoder struct {

	// Types that are assignable to DescriptorSet:
	//
	//	*GrpcJsonTranscoder_ProtoDescriptor
	//	*GrpcJsonTranscoder_ProtoDescriptorBin
	//	*GrpcJsonTranscoder_ProtoDescriptorConfigMap
	DescriptorSet isGrpcJsonTranscoder_DescriptorSet `protobuf_oneof:"descriptor_set"`
	// 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.
	Services []string `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"`
	// 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>`_.
	PrintOptions *GrpcJsonTranscoder_PrintOptions `protobuf:"bytes,3,opt,name=print_options,json=printOptions,proto3" json:"print_options,omitempty"`
	// Set this value to true to keep the incoming request route after the outgoing headers are transformed to match the upstream gRPC service.
	// Note that you cannot set this value to true with routes for gRPC services that are not transcoded.
	// When set to false, Envoy does not match against the incoming request path.
	// For more information, see the Envoy docs <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#route-configs-for-transcoded-requests>.
	MatchIncomingRequestRoute bool `` /* 141-byte string literal not displayed */
	// 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“.
	IgnoredQueryParameters []string `` /* 129-byte string literal not displayed */
	// 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“.
	AutoMapping bool `protobuf:"varint,7,opt,name=auto_mapping,json=autoMapping,proto3" json:"auto_mapping,omitempty"`
	// 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.
	IgnoreUnknownQueryParameters bool `` /* 150-byte string literal not displayed */
	// 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>`.
	ConvertGrpcStatus bool `protobuf:"varint,9,opt,name=convert_grpc_status,json=convertGrpcStatus,proto3" json:"convert_grpc_status,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 10]

func (*GrpcJsonTranscoder) Clone added in v1.8.24

func (m *GrpcJsonTranscoder) Clone() proto.Message

Clone function

func (*GrpcJsonTranscoder) Descriptor deprecated

func (*GrpcJsonTranscoder) Descriptor() ([]byte, []int)

Deprecated: Use GrpcJsonTranscoder.ProtoReflect.Descriptor instead.

func (*GrpcJsonTranscoder) Equal

func (m *GrpcJsonTranscoder) Equal(that interface{}) bool

Equal function

func (*GrpcJsonTranscoder) GetAutoMapping

func (x *GrpcJsonTranscoder) GetAutoMapping() bool

func (*GrpcJsonTranscoder) GetConvertGrpcStatus

func (x *GrpcJsonTranscoder) GetConvertGrpcStatus() bool

func (*GrpcJsonTranscoder) GetDescriptorSet

func (m *GrpcJsonTranscoder) GetDescriptorSet() isGrpcJsonTranscoder_DescriptorSet

func (*GrpcJsonTranscoder) GetIgnoreUnknownQueryParameters

func (x *GrpcJsonTranscoder) GetIgnoreUnknownQueryParameters() bool

func (*GrpcJsonTranscoder) GetIgnoredQueryParameters

func (x *GrpcJsonTranscoder) GetIgnoredQueryParameters() []string

func (*GrpcJsonTranscoder) GetMatchIncomingRequestRoute

func (x *GrpcJsonTranscoder) GetMatchIncomingRequestRoute() bool

func (*GrpcJsonTranscoder) GetPrintOptions

func (*GrpcJsonTranscoder) GetProtoDescriptor

func (x *GrpcJsonTranscoder) GetProtoDescriptor() string

func (*GrpcJsonTranscoder) GetProtoDescriptorBin

func (x *GrpcJsonTranscoder) GetProtoDescriptorBin() []byte

func (*GrpcJsonTranscoder) GetProtoDescriptorConfigMap added in v1.12.41

func (x *GrpcJsonTranscoder) GetProtoDescriptorConfigMap() *GrpcJsonTranscoder_DescriptorConfigMap

func (*GrpcJsonTranscoder) GetServices

func (x *GrpcJsonTranscoder) GetServices() []string

func (*GrpcJsonTranscoder) Hash deprecated

func (m *GrpcJsonTranscoder) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*GrpcJsonTranscoder) HashUnique added in v1.18.0

func (m *GrpcJsonTranscoder) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*GrpcJsonTranscoder) ProtoMessage

func (*GrpcJsonTranscoder) ProtoMessage()

func (*GrpcJsonTranscoder) ProtoReflect added in v1.6.0

func (x *GrpcJsonTranscoder) ProtoReflect() protoreflect.Message

func (*GrpcJsonTranscoder) Reset

func (x *GrpcJsonTranscoder) Reset()

func (*GrpcJsonTranscoder) String

func (x *GrpcJsonTranscoder) String() string

type GrpcJsonTranscoder_DescriptorConfigMap added in v1.12.41

type GrpcJsonTranscoder_DescriptorConfigMap struct {

	// A reference to a ConfigMap containing the base64-encoded binary content of a proto descriptor set.
	// The ConfigMap must be in a namespace watched by Gloo Edge.
	ConfigMapRef *core.ResourceRef `protobuf:"bytes,1,opt,name=config_map_ref,json=configMapRef,proto3" json:"config_map_ref,omitempty"`
	// The ConfigMap data key whose value contains the proto descriptor set.
	// If the ConfigMap contains multiple key-value pairs, this field is required.
	// If the ConfigMap contains exactly one key-value pair, this field is optional.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

Allows the user to store the binary content of a [proto descriptor set](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#config-grpc-json-generate-proto-descriptor-set) in a ConfigMap.

func (*GrpcJsonTranscoder_DescriptorConfigMap) Clone added in v1.12.41

Clone function

func (*GrpcJsonTranscoder_DescriptorConfigMap) Descriptor deprecated added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) Descriptor() ([]byte, []int)

Deprecated: Use GrpcJsonTranscoder_DescriptorConfigMap.ProtoReflect.Descriptor instead.

func (*GrpcJsonTranscoder_DescriptorConfigMap) Equal added in v1.12.41

func (m *GrpcJsonTranscoder_DescriptorConfigMap) Equal(that interface{}) bool

Equal function

func (*GrpcJsonTranscoder_DescriptorConfigMap) GetConfigMapRef added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) GetKey added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) Hash deprecated added in v1.12.41

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*GrpcJsonTranscoder_DescriptorConfigMap) HashUnique added in v1.18.0

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*GrpcJsonTranscoder_DescriptorConfigMap) ProtoMessage added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) ProtoReflect added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) Reset added in v1.12.41

func (*GrpcJsonTranscoder_DescriptorConfigMap) String added in v1.12.41

type GrpcJsonTranscoder_PrintOptions

type GrpcJsonTranscoder_PrintOptions struct {

	// Whether to add spaces, line breaks and indentation to make the JSON
	// output easy to read. Defaults to false.
	AddWhitespace bool `protobuf:"varint,1,opt,name=add_whitespace,json=addWhitespace,proto3" json:"add_whitespace,omitempty"`
	// 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.
	AlwaysPrintPrimitiveFields bool `` /* 144-byte string literal not displayed */
	// Whether to always print enums as ints. By default they are rendered
	// as strings. Defaults to false.
	AlwaysPrintEnumsAsInts bool `` /* 134-byte string literal not displayed */
	// 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.
	PreserveProtoFieldNames bool `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GrpcJsonTranscoder_PrintOptions) Clone added in v1.8.24

Clone function

func (*GrpcJsonTranscoder_PrintOptions) Descriptor deprecated

func (*GrpcJsonTranscoder_PrintOptions) Descriptor() ([]byte, []int)

Deprecated: Use GrpcJsonTranscoder_PrintOptions.ProtoReflect.Descriptor instead.

func (*GrpcJsonTranscoder_PrintOptions) Equal

func (m *GrpcJsonTranscoder_PrintOptions) Equal(that interface{}) bool

Equal function

func (*GrpcJsonTranscoder_PrintOptions) GetAddWhitespace

func (x *GrpcJsonTranscoder_PrintOptions) GetAddWhitespace() bool

func (*GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintEnumsAsInts

func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintEnumsAsInts() bool

func (*GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintPrimitiveFields

func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintPrimitiveFields() bool

func (*GrpcJsonTranscoder_PrintOptions) GetPreserveProtoFieldNames

func (x *GrpcJsonTranscoder_PrintOptions) GetPreserveProtoFieldNames() bool

func (*GrpcJsonTranscoder_PrintOptions) Hash deprecated

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*GrpcJsonTranscoder_PrintOptions) HashUnique added in v1.18.0

func (m *GrpcJsonTranscoder_PrintOptions) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*GrpcJsonTranscoder_PrintOptions) ProtoMessage

func (*GrpcJsonTranscoder_PrintOptions) ProtoMessage()

func (*GrpcJsonTranscoder_PrintOptions) ProtoReflect added in v1.6.0

func (*GrpcJsonTranscoder_PrintOptions) Reset

func (*GrpcJsonTranscoder_PrintOptions) String

type GrpcJsonTranscoder_ProtoDescriptor

type GrpcJsonTranscoder_ProtoDescriptor struct {
	// Supplies the filename of the [proto descriptor set](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#config-grpc-json-generate-proto-descriptor-set)
	// for the gRPC services.
	ProtoDescriptor string `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3,oneof"`
}

type GrpcJsonTranscoder_ProtoDescriptorBin

type GrpcJsonTranscoder_ProtoDescriptorBin struct {
	// Supplies the binary content of the [proto descriptor set](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#config-grpc-json-generate-proto-descriptor-set)
	// for the gRPC services.
	// Note: in yaml, this must be provided as a base64 standard encoded string; yaml can't handle binary bytes.
	ProtoDescriptorBin []byte `protobuf:"bytes,4,opt,name=proto_descriptor_bin,json=protoDescriptorBin,proto3,oneof"`
}

type GrpcJsonTranscoder_ProtoDescriptorConfigMap added in v1.12.41

type GrpcJsonTranscoder_ProtoDescriptorConfigMap struct {
	// A reference to a ConfigMap containing the base64-encoded binary content of the [proto descriptor set](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#config-grpc-json-generate-proto-descriptor-set)
	// for the gRPC services.
	ProtoDescriptorConfigMap *GrpcJsonTranscoder_DescriptorConfigMap `protobuf:"bytes,10,opt,name=proto_descriptor_config_map,json=protoDescriptorConfigMap,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL