From 88c0bef6ff748d1f272a8b31b87c7a9160435f29 Mon Sep 17 00:00:00 2001 From: Johan Brandhorst Date: Thu, 28 May 2020 13:06:21 +0100 Subject: [PATCH] Switch to new Go protobuf generators Switch from github.com/golang/protobuf/protoc-gen-go to google.golang.org/protobuf/cmd/protoc-gen-go and google.golang.org/grpc/cmd/protoc-gen-go-grpc. Add APIv2 protoc-gen-go and protoc-gen-go-grpc bazel rules --- BUILD | 58 +- Makefile | 25 +- bin/.gitignore | 1 + examples/internal/helloworld/BUILD.bazel | 27 +- examples/internal/helloworld/helloworld.pb.go | 84 -- .../internal/helloworld/helloworld_grpc.pb.go | 86 ++ examples/internal/proto/examplepb/BUILD.bazel | 26 +- .../proto/examplepb/a_bit_of_everything.pb.go | 896 ----------------- .../examplepb/a_bit_of_everything_grpc.pb.go | 903 ++++++++++++++++++ .../proto/examplepb/echo_service.pb.go | 168 ---- .../proto/examplepb/echo_service_grpc.pb.go | 170 ++++ .../proto/examplepb/flow_combination.pb.go | 583 ----------- .../examplepb/flow_combination_grpc.pb.go | 585 ++++++++++++ .../proto/examplepb/non_standard_names.pb.go | 124 --- .../examplepb/non_standard_names_grpc.pb.go | 126 +++ .../examplepb/response_body_service.pb.go | 220 ----- .../response_body_service_grpc.pb.go | 222 +++++ .../internal/proto/examplepb/stream.pb.go | 312 ------ .../proto/examplepb/stream_grpc.pb.go | 317 ++++++ .../examplepb/unannotated_echo_service.pb.go | 168 ---- .../unannotated_echo_service_grpc.pb.go | 170 ++++ .../proto/examplepb/use_go_template.pb.go | 176 ---- .../examplepb/use_go_template_grpc.pb.go | 178 ++++ .../internal/proto/examplepb/wrappers.pb.go | 444 --------- .../proto/examplepb/wrappers_grpc.pb.go | 448 +++++++++ examples/internal/proto/pathenum/BUILD.bazel | 1 + examples/internal/proto/sub/BUILD.bazel | 1 + examples/internal/proto/sub2/BUILD.bazel | 1 + .../internal/server/a_bit_of_everything.go | 2 + examples/internal/server/echo.go | 4 +- examples/internal/server/flow_combination.go | 4 +- .../internal/server/non_standard_names.go | 4 +- examples/internal/server/responsebody.go | 4 +- examples/internal/server/unannotatedecho.go | 4 +- go.mod | 1 + go.sum | 2 + internal/descriptor/apiconfig/BUILD.bazel | 1 + protoc-gen-openapiv2/options/BUILD.bazel | 1 + repositories.bzl | 6 + runtime/internal/examplepb/BUILD.bazel | 7 +- .../examplepb/non_standard_names.pb.go | 124 --- .../examplepb/non_standard_names_grpc.pb.go | 126 +++ tools.go | 7 + 43 files changed, 3475 insertions(+), 3342 deletions(-) create mode 100644 examples/internal/helloworld/helloworld_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/a_bit_of_everything_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/echo_service_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/flow_combination_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/non_standard_names_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/response_body_service_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/stream_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/unannotated_echo_service_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/use_go_template_grpc.pb.go create mode 100644 examples/internal/proto/examplepb/wrappers_grpc.pb.go create mode 100644 runtime/internal/examplepb/non_standard_names_grpc.pb.go create mode 100644 tools.go diff --git a/BUILD b/BUILD index d0b40ee0274..cf4c432c9be 100644 --- a/BUILD +++ b/BUILD @@ -1,5 +1,6 @@ load("@bazel_gazelle//:def.bzl", "gazelle") load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier") +load("@io_bazel_rules_go//proto:compiler.bzl", "go_proto_compiler") buildifier( name = "buildifier", @@ -11,9 +12,10 @@ buildifier( ) # gazelle:exclude third_party -# gazelle:exclude vendor # gazelle:exclude _output # gazelle:prefix github.com/grpc-ecosystem/grpc-gateway/v2 +# gazelle:go_proto_compilers //:go_apiv2 +# gazelle:go_grpc_compilers //:go_apiv2, //:go_grpc gazelle(name = "gazelle") @@ -24,3 +26,57 @@ package_group( "//protoc-gen-openapiv2/...", ], ) + +go_proto_compiler( + name = "go_apiv2", + options = [ + "paths=source_relative", + ], + plugin = "@org_golang_google_protobuf//cmd/protoc-gen-go", + suffix = ".pb.go", + visibility = ["//visibility:public"], + deps = [ + "@com_github_golang_protobuf//proto:go_default_library", + "@io_bazel_rules_go//proto/wkt:any_go_proto", + "@io_bazel_rules_go//proto/wkt:api_go_proto", + "@io_bazel_rules_go//proto/wkt:compiler_plugin_go_proto", + "@io_bazel_rules_go//proto/wkt:descriptor_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + "@io_bazel_rules_go//proto/wkt:empty_go_proto", + "@io_bazel_rules_go//proto/wkt:field_mask_go_proto", + "@io_bazel_rules_go//proto/wkt:source_context_go_proto", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + "@io_bazel_rules_go//proto/wkt:timestamp_go_proto", + "@io_bazel_rules_go//proto/wkt:type_go_proto", + "@io_bazel_rules_go//proto/wkt:wrappers_go_proto", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + "@org_golang_google_protobuf//runtime/protoimpl:go_default_library", + ], +) + +go_proto_compiler( + name = "go_grpc", + options = [ + "paths=source_relative", + ], + plugin = "@org_golang_google_grpc_cmd_protoc_gen_go_grpc//:protoc-gen-go-grpc", + suffix = "_grpc.pb.go", + visibility = ["//visibility:public"], + deps = [ + "@io_bazel_rules_go//proto/wkt:any_go_proto", + "@io_bazel_rules_go//proto/wkt:api_go_proto", + "@io_bazel_rules_go//proto/wkt:compiler_plugin_go_proto", + "@io_bazel_rules_go//proto/wkt:descriptor_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + "@io_bazel_rules_go//proto/wkt:empty_go_proto", + "@io_bazel_rules_go//proto/wkt:field_mask_go_proto", + "@io_bazel_rules_go//proto/wkt:source_context_go_proto", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + "@io_bazel_rules_go//proto/wkt:timestamp_go_proto", + "@io_bazel_rules_go//proto/wkt:type_go_proto", + "@io_bazel_rules_go//proto/wkt:wrappers_go_proto", + "@org_golang_google_grpc//:go_default_library", + "@org_golang_google_grpc//codes:go_default_library", + "@org_golang_google_grpc//status:go_default_library", + ], +) diff --git a/Makefile b/Makefile index 0dd8b343527..be0f0e42bf4 100644 --- a/Makefile +++ b/Makefile @@ -4,9 +4,9 @@ # grpc-gateway itself. GO_PLUGIN=bin/protoc-gen-go -GO_PROTOBUF_REPO=github.com/golang/protobuf -GO_PLUGIN_PKG=$(GO_PROTOBUF_REPO)/protoc-gen-go -GO_PTYPES_ANY_PKG=$(GO_PROTOBUF_REPO)/ptypes/any +GO_PLUGIN_PKG=google.golang.org/protobuf/cmd/protoc-gen-go +GO_GRPC_PLUGIN=bin/protoc-gen-go-grpc +GO_GRPC_PLUGIN_PKG=google.golang.org/grpc/cmd/protoc-gen-go-grpc OPENAPI_PLUGIN=bin/protoc-gen-openapiv2 OPENAPI_PLUGIN_SRC= ./utilities/doc.go \ ./utilities/pattern.go \ @@ -147,6 +147,9 @@ PROTOC_INC_PATH=$(dir $(shell which protoc))/../include $(GO_PLUGIN): go build -o $(GO_PLUGIN) $(GO_PLUGIN_PKG) +$(GO_GRPC_PLUGIN): + go build -o $(GO_GRPC_PLUGIN) $(GO_GRPC_PLUGIN_PKG) + $(OPENAPIV2_GO): $(OPENAPIV2_PROTO) $(GO_PLUGIN) protoc -I $(PROTOC_INC_PATH) --plugin=$(GO_PLUGIN) -I. --go_out=paths=source_relative:. $(OPENAPIV2_PROTO) @@ -156,15 +159,15 @@ $(GATEWAY_PLUGIN): $(GATEWAY_PLUGIN_SRC) $(OPENAPI_PLUGIN): $(OPENAPI_PLUGIN_SRC) $(OPENAPIV2_GO) go build -o $@ $(OPENAPI_PLUGIN_PKG) -$(EXAMPLE_SVCSRCS): $(GO_PLUGIN) $(EXAMPLES) - protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --go_out=plugins=grpc,paths=source_relative:. $(EXAMPLES) -$(EXAMPLE_DEPSRCS): $(GO_PLUGIN) $(EXAMPLE_DEPS) +$(EXAMPLE_SVCSRCS): $(GO_PLUGIN) $(GO_GRPC_PLUGIN) $(EXAMPLES) + protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --plugin=$(GO_GRPC_PLUGIN) --go_out=paths=source_relative:. --go-grpc_out=paths=source_relative:. $(EXAMPLES) +$(EXAMPLE_DEPSRCS): $(GO_PLUGIN) $(GO_GRPC_PLUGIN) $(EXAMPLE_DEPS) mkdir -p $(OUTPUT_DIR) - protoc -I $(PROTOC_INC_PATH) -I. --plugin=$(GO_PLUGIN) --go_out=plugins=grpc,paths=source_relative:$(OUTPUT_DIR) $(@:.pb.go=.proto) + protoc -I $(PROTOC_INC_PATH) -I. --plugin=$(GO_PLUGIN) --plugin=$(GO_GRPC_PLUGIN) --go_out=paths=source_relative:$(OUTPUT_DIR) --go-grpc_out=paths=source_relative:$(OUTPUT_DIR) $(@:.pb.go=.proto) cp $(OUTPUT_DIR)/$@ $@ || cp $(OUTPUT_DIR)/$@ $@ -$(RUNTIME_TEST_SRCS): $(GO_PLUGIN) $(RUNTIME_TEST_PROTO) - protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --go_out=plugins=grpc,paths=source_relative:. $(RUNTIME_TEST_PROTO) +$(RUNTIME_TEST_SRCS): $(GO_PLUGIN) $(GO_GRPC_PLUGIN) $(RUNTIME_TEST_PROTO) + protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --plugin=$(GO_GRPC_PLUGIN) --go_out=paths=source_relative:. --go-grpc_out=paths=source_relative:. $(RUNTIME_TEST_PROTO) $(APICONFIG_SRCS): $(GO_PLUGIN) $(APICONFIG_PROTO) protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --go_out=paths=source_relative:. $(APICONFIG_PROTO) @@ -181,8 +184,8 @@ $(EXAMPLE_OPENAPISRCS): ADDITIONAL_SWG_FLAGS:=$(ADDITIONAL_SWG_FLAGS),grpc_api_c $(EXAMPLE_OPENAPISRCS): $(OPENAPI_PLUGIN) $(OPENAPI_EXAMPLES) protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(OPENAPI_PLUGIN) --openapiv2_out=logtostderr=true,allow_repeated_fields_in_body=true,use_go_templates=true$(ADDITIONAL_SWG_FLAGS):. $(OPENAPI_EXAMPLES) -$(HELLOWORLD_SVCSRCS): $(GO_PLUGIN) $(HELLOWORLD) - protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --go_out=plugins=grpc,paths=source_relative:. $(HELLOWORLD) +$(HELLOWORLD_SVCSRCS): $(GO_PLUGIN) $(GO_GRPC_PLUGIN) $(HELLOWORLD) + protoc -I $(PROTOC_INC_PATH) -I. -I$(GOOGLEAPIS_DIR) --plugin=$(GO_PLUGIN) --plugin=$(GO_GRPC_PLUGIN) --go_out=paths=source_relative:. --go-grpc_out=paths=source_relative:. $(HELLOWORLD) $(HELLOWORLD_GWSRCS): $(HELLOWORLD_GWSRCS): $(GATEWAY_PLUGIN) $(HELLOWORLD) diff --git a/bin/.gitignore b/bin/.gitignore index 26df9ea603b..f56721fd9bd 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,4 @@ /protoc-gen-go +/protoc-gen-go-grpc /protoc-gen-grpc-gateway /protoc-gen-openapiv2 diff --git a/examples/internal/helloworld/BUILD.bazel b/examples/internal/helloworld/BUILD.bazel index badd02d3c4c..c93b8bbc2d3 100644 --- a/examples/internal/helloworld/BUILD.bazel +++ b/examples/internal/helloworld/BUILD.bazel @@ -2,6 +2,10 @@ load("@rules_proto//proto:defs.bzl", "proto_library") load("@io_bazel_rules_go//go:def.bzl", "go_library") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +# gazelle:exclude helloworld.pb.gw.go +# gazelle:exclude helloworld_grpc.pb.go +# gazelle:go_grpc_compilers //:go_apiv2, //:go_grpc, //protoc-gen-grpc-gateway:go_gen_grpc_gateway + proto_library( name = "helloworld_proto", srcs = ["helloworld.proto"], @@ -14,26 +18,23 @@ proto_library( go_proto_library( name = "helloworld_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], + compilers = [ + "//:go_apiv2", + "//:go_grpc", + "//protoc-gen-grpc-gateway:go_gen_grpc_gateway", + ], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/helloworld", proto = ":helloworld_proto", visibility = ["//visibility:public"], - deps = ["@go_googleapis//google/api:annotations_go_proto"], + deps = [ + "@go_googleapis//google/api:annotations_go_proto", + "@org_golang_google_protobuf//proto:go_default_library", #keep + ], ) go_library( name = "go_default_library", - srcs = ["helloworld.pb.gw.go"], embed = [":helloworld_go_proto"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/helloworld", - visibility = ["//visibility:public"], - deps = [ - "//runtime:go_default_library", - "//utilities:go_default_library", - "@org_golang_google_grpc//:go_default_library", - "@org_golang_google_grpc//codes:go_default_library", - "@org_golang_google_grpc//grpclog:go_default_library", - "@org_golang_google_grpc//status:go_default_library", - "@org_golang_google_protobuf//proto:go_default_library", - ], + visibility = ["//examples:__subpackages__"], ) diff --git a/examples/internal/helloworld/helloworld.pb.go b/examples/internal/helloworld/helloworld.pb.go index 65b09f0ad18..a27f4c6ad90 100644 --- a/examples/internal/helloworld/helloworld.pb.go +++ b/examples/internal/helloworld/helloworld.pb.go @@ -7,13 +7,9 @@ package helloworld import ( - context "context" proto "github.com/golang/protobuf/proto" wrappers "github.com/golang/protobuf/ptypes/wrappers" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -375,83 +371,3 @@ func file_examples_internal_helloworld_helloworld_proto_init() { file_examples_internal_helloworld_helloworld_proto_goTypes = nil file_examples_internal_helloworld_helloworld_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// GreeterClient is the client API for Greeter service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type GreeterClient interface { - SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) -} - -type greeterClient struct { - cc grpc.ClientConnInterface -} - -func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient { - return &greeterClient{cc} -} - -func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) { - out := new(HelloReply) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.helloworld.Greeter/SayHello", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// GreeterServer is the server API for Greeter service. -type GreeterServer interface { - SayHello(context.Context, *HelloRequest) (*HelloReply, error) -} - -// UnimplementedGreeterServer can be embedded to have forward compatible implementations. -type UnimplementedGreeterServer struct { -} - -func (*UnimplementedGreeterServer) SayHello(context.Context, *HelloRequest) (*HelloReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented") -} - -func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { - s.RegisterService(&_Greeter_serviceDesc, srv) -} - -func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(HelloRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GreeterServer).SayHello(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.helloworld.Greeter/SayHello", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Greeter_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.helloworld.Greeter", - HandlerType: (*GreeterServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SayHello", - Handler: _Greeter_SayHello_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/helloworld/helloworld.proto", -} diff --git a/examples/internal/helloworld/helloworld_grpc.pb.go b/examples/internal/helloworld/helloworld_grpc.pb.go new file mode 100644 index 00000000000..9f33bb20d9f --- /dev/null +++ b/examples/internal/helloworld/helloworld_grpc.pb.go @@ -0,0 +1,86 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package helloworld + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// GreeterClient is the client API for Greeter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type GreeterClient interface { + SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) +} + +type greeterClient struct { + cc grpc.ClientConnInterface +} + +func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient { + return &greeterClient{cc} +} + +func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) { + out := new(HelloReply) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.helloworld.Greeter/SayHello", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GreeterServer is the server API for Greeter service. +type GreeterServer interface { + SayHello(context.Context, *HelloRequest) (*HelloReply, error) +} + +// UnimplementedGreeterServer can be embedded to have forward compatible implementations. +type UnimplementedGreeterServer struct { +} + +func (*UnimplementedGreeterServer) SayHello(context.Context, *HelloRequest) (*HelloReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented") +} + +func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { + s.RegisterService(&_Greeter_serviceDesc, srv) +} + +func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HelloRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GreeterServer).SayHello(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.helloworld.Greeter/SayHello", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Greeter_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.helloworld.Greeter", + HandlerType: (*GreeterServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SayHello", + Handler: _Greeter_SayHello_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/helloworld/helloworld.proto", +} diff --git a/examples/internal/proto/examplepb/BUILD.bazel b/examples/internal/proto/examplepb/BUILD.bazel index 2486069049b..0b425636b8e 100644 --- a/examples/internal/proto/examplepb/BUILD.bazel +++ b/examples/internal/proto/examplepb/BUILD.bazel @@ -8,14 +8,25 @@ package(default_visibility = ["//visibility:public"]) # TODO(yannic): Add examples/tests that use import_prefix/strip_import_prefix. # gazelle:exclude a_bit_of_everything.pb.gw.go +# gazelle:exclude a_bit_of_everything_grpc.pb.go # gazelle:exclude echo_service.pb.gw.go +# gazelle:exclude echo_service_grpc.pb.go # gazelle:exclude flow_combination.pb.gw.go +# gazelle:exclude flow_combination_grpc.pb.go # gazelle:exclude generated_input.proto # gazelle:exclude non_standard_names.pb.gw.go +# gazelle:exclude non_standard_names_grpc.pb.go # gazelle:exclude response_body_service.pb.gw.go +# gazelle:exclude response_body_service_grpc.pb.go # gazelle:exclude stream.pb.gw.go +# gazelle:exclude stream_grpc.pb.go # gazelle:exclude use_go_template.pb.gw.go +# gazelle:exclude use_go_template_grpc.pb.go # gazelle:exclude wrappers.pb.gw.go +# gazelle:exclude wrappers_grpc.pb.go +# gazelle:exclude unannotated_echo_service.pb.gw.go +# gazelle:exclude unannotated_echo_service_grpc.pb.go +# gazelle:go_grpc_compilers //:go_apiv2, //:go_grpc, //protoc-gen-grpc-gateway:go_gen_grpc_gateway genrule( name = "generated_proto", @@ -56,8 +67,9 @@ proto_library( go_proto_library( name = "examplepb_go_proto", compilers = [ - "//protoc-gen-grpc-gateway:go_gen_grpc_gateway", # keep - "@io_bazel_rules_go//proto:go_grpc", + "//:go_apiv2", + "//:go_grpc", + "//protoc-gen-grpc-gateway:go_gen_grpc_gateway", ], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb", proto = ":examplepb_proto", @@ -75,18 +87,8 @@ go_proto_library( go_library( name = "go_default_library", - srcs = ["unannotated_echo_service.pb.gw.go"], embed = [":examplepb_go_proto"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb", - deps = [ - "//runtime:go_default_library", - "//utilities:go_default_library", - "@org_golang_google_grpc//:go_default_library", - "@org_golang_google_grpc//codes:go_default_library", - "@org_golang_google_grpc//grpclog:go_default_library", - "@org_golang_google_grpc//status:go_default_library", - "@org_golang_google_protobuf//proto:go_default_library", - ], ) protoc_gen_openapiv2( diff --git a/examples/internal/proto/examplepb/a_bit_of_everything.pb.go b/examples/internal/proto/examplepb/a_bit_of_everything.pb.go index 209192009e7..ff6b8752961 100644 --- a/examples/internal/proto/examplepb/a_bit_of_everything.pb.go +++ b/examples/internal/proto/examplepb/a_bit_of_everything.pb.go @@ -7,7 +7,6 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" empty "github.com/golang/protobuf/ptypes/empty" @@ -19,9 +18,6 @@ import ( _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" field_mask "google.golang.org/genproto/protobuf/field_mask" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -1863,895 +1859,3 @@ func file_examples_internal_proto_examplepb_a_bit_of_everything_proto_init() { file_examples_internal_proto_examplepb_a_bit_of_everything_proto_goTypes = nil file_examples_internal_proto_examplepb_a_bit_of_everything_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// ABitOfEverythingServiceClient is the client API for ABitOfEverythingService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ABitOfEverythingServiceClient interface { - // Create a new ABitOfEverything - // - // This API creates a new ABitOfEverything - Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error) - Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) - UpdateV2(ctx context.Context, in *UpdateV2Request, opts ...grpc.CallOption) (*empty.Empty, error) - Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*empty.Empty, error) - GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) - GetRepeatedQuery(ctx context.Context, in *ABitOfEverythingRepeated, opts ...grpc.CallOption) (*ABitOfEverythingRepeated, error) - // Echo allows posting a StringMessage value. - // - // It also exposes multiple bindings. - // - // This makes it useful when validating that the OpenAPI v2 API - // description exposes documentation correctly on all paths - // defined as additional_bindings in the proto. - Echo(ctx context.Context, in *sub.StringMessage, opts ...grpc.CallOption) (*sub.StringMessage, error) - DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - NoBindings(ctx context.Context, in *duration.Duration, opts ...grpc.CallOption) (*empty.Empty, error) - Timeout(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) - ErrorWithDetails(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) - GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*empty.Empty, error) - PostWithEmptyBody(ctx context.Context, in *Body, opts ...grpc.CallOption) (*empty.Empty, error) - CheckGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - CheckNestedEnumGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - CheckPostQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) - OverwriteResponseContentType(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*wrappers.StringValue, error) -} - -type aBitOfEverythingServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewABitOfEverythingServiceClient(cc grpc.ClientConnInterface) ABitOfEverythingServiceClient { - return &aBitOfEverythingServiceClient{cc} -} - -func (c *aBitOfEverythingServiceClient) Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Create", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CreateBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Lookup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Update", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) UpdateV2(ctx context.Context, in *UpdateV2Request, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/UpdateV2", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Delete", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetQuery", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) GetRepeatedQuery(ctx context.Context, in *ABitOfEverythingRepeated, opts ...grpc.CallOption) (*ABitOfEverythingRepeated, error) { - out := new(ABitOfEverythingRepeated) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetRepeatedQuery", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) Echo(ctx context.Context, in *sub.StringMessage, opts ...grpc.CallOption) (*sub.StringMessage, error) { - out := new(sub.StringMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Echo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/DeepPathEcho", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) NoBindings(ctx context.Context, in *duration.Duration, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/NoBindings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) Timeout(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Timeout", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) ErrorWithDetails(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/ErrorWithDetails", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetMessageWithBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) PostWithEmptyBody(ctx context.Context, in *Body, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/PostWithEmptyBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) CheckGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckGetQueryParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) CheckNestedEnumGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckNestedEnumGetQueryParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) CheckPostQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { - out := new(ABitOfEverything) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckPostQueryParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *aBitOfEverythingServiceClient) OverwriteResponseContentType(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*wrappers.StringValue, error) { - out := new(wrappers.StringValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/OverwriteResponseContentType", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ABitOfEverythingServiceServer is the server API for ABitOfEverythingService service. -type ABitOfEverythingServiceServer interface { - // Create a new ABitOfEverything - // - // This API creates a new ABitOfEverything - Create(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - CreateBody(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - Lookup(context.Context, *sub2.IdMessage) (*ABitOfEverything, error) - Update(context.Context, *ABitOfEverything) (*empty.Empty, error) - UpdateV2(context.Context, *UpdateV2Request) (*empty.Empty, error) - Delete(context.Context, *sub2.IdMessage) (*empty.Empty, error) - GetQuery(context.Context, *ABitOfEverything) (*empty.Empty, error) - GetRepeatedQuery(context.Context, *ABitOfEverythingRepeated) (*ABitOfEverythingRepeated, error) - // Echo allows posting a StringMessage value. - // - // It also exposes multiple bindings. - // - // This makes it useful when validating that the OpenAPI v2 API - // description exposes documentation correctly on all paths - // defined as additional_bindings in the proto. - Echo(context.Context, *sub.StringMessage) (*sub.StringMessage, error) - DeepPathEcho(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - NoBindings(context.Context, *duration.Duration) (*empty.Empty, error) - Timeout(context.Context, *empty.Empty) (*empty.Empty, error) - ErrorWithDetails(context.Context, *empty.Empty) (*empty.Empty, error) - GetMessageWithBody(context.Context, *MessageWithBody) (*empty.Empty, error) - PostWithEmptyBody(context.Context, *Body) (*empty.Empty, error) - CheckGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - CheckNestedEnumGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - CheckPostQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) - OverwriteResponseContentType(context.Context, *empty.Empty) (*wrappers.StringValue, error) -} - -// UnimplementedABitOfEverythingServiceServer can be embedded to have forward compatible implementations. -type UnimplementedABitOfEverythingServiceServer struct { -} - -func (*UnimplementedABitOfEverythingServiceServer) Create(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) CreateBody(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateBody not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) Lookup(context.Context, *sub2.IdMessage) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method Lookup not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) Update(context.Context, *ABitOfEverything) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) UpdateV2(context.Context, *UpdateV2Request) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateV2 not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) Delete(context.Context, *sub2.IdMessage) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) GetQuery(context.Context, *ABitOfEverything) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetQuery not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) GetRepeatedQuery(context.Context, *ABitOfEverythingRepeated) (*ABitOfEverythingRepeated, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRepeatedQuery not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) Echo(context.Context, *sub.StringMessage) (*sub.StringMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) DeepPathEcho(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeepPathEcho not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) NoBindings(context.Context, *duration.Duration) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NoBindings not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) Timeout(context.Context, *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Timeout not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) ErrorWithDetails(context.Context, *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ErrorWithDetails not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) GetMessageWithBody(context.Context, *MessageWithBody) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMessageWithBody not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) PostWithEmptyBody(context.Context, *Body) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostWithEmptyBody not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) CheckGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckGetQueryParams not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) CheckNestedEnumGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckNestedEnumGetQueryParams not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) CheckPostQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckPostQueryParams not implemented") -} -func (*UnimplementedABitOfEverythingServiceServer) OverwriteResponseContentType(context.Context, *empty.Empty) (*wrappers.StringValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method OverwriteResponseContentType not implemented") -} - -func RegisterABitOfEverythingServiceServer(s *grpc.Server, srv ABitOfEverythingServiceServer) { - s.RegisterService(&_ABitOfEverythingService_serviceDesc, srv) -} - -func _ABitOfEverythingService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Create(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Create", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Create(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_CreateBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CreateBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_Lookup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(sub2.IdMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Lookup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Lookup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Lookup(ctx, req.(*sub2.IdMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Update(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Update", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Update(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_UpdateV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateV2Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).UpdateV2(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/UpdateV2", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).UpdateV2(ctx, req.(*UpdateV2Request)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(sub2.IdMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Delete(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Delete", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Delete(ctx, req.(*sub2.IdMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_GetQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetQuery", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_GetRepeatedQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverythingRepeated) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).GetRepeatedQuery(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetRepeatedQuery", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).GetRepeatedQuery(ctx, req.(*ABitOfEverythingRepeated)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(sub.StringMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Echo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Echo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Echo(ctx, req.(*sub.StringMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_DeepPathEcho_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/DeepPathEcho", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(duration.Duration) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/NoBindings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, req.(*duration.Duration)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_Timeout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).Timeout(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Timeout", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).Timeout(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_ErrorWithDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).ErrorWithDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/ErrorWithDetails", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).ErrorWithDetails(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_GetMessageWithBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MessageWithBody) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetMessageWithBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, req.(*MessageWithBody)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_PostWithEmptyBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Body) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).PostWithEmptyBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/PostWithEmptyBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).PostWithEmptyBody(ctx, req.(*Body)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_CheckGetQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).CheckGetQueryParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckGetQueryParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).CheckGetQueryParams(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_CheckNestedEnumGetQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).CheckNestedEnumGetQueryParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckNestedEnumGetQueryParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).CheckNestedEnumGetQueryParams(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_CheckPostQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ABitOfEverything) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).CheckPostQueryParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckPostQueryParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).CheckPostQueryParams(ctx, req.(*ABitOfEverything)) - } - return interceptor(ctx, in, info, handler) -} - -func _ABitOfEverythingService_OverwriteResponseContentType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ABitOfEverythingServiceServer).OverwriteResponseContentType(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/OverwriteResponseContentType", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABitOfEverythingServiceServer).OverwriteResponseContentType(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -var _ABitOfEverythingService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService", - HandlerType: (*ABitOfEverythingServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Create", - Handler: _ABitOfEverythingService_Create_Handler, - }, - { - MethodName: "CreateBody", - Handler: _ABitOfEverythingService_CreateBody_Handler, - }, - { - MethodName: "Lookup", - Handler: _ABitOfEverythingService_Lookup_Handler, - }, - { - MethodName: "Update", - Handler: _ABitOfEverythingService_Update_Handler, - }, - { - MethodName: "UpdateV2", - Handler: _ABitOfEverythingService_UpdateV2_Handler, - }, - { - MethodName: "Delete", - Handler: _ABitOfEverythingService_Delete_Handler, - }, - { - MethodName: "GetQuery", - Handler: _ABitOfEverythingService_GetQuery_Handler, - }, - { - MethodName: "GetRepeatedQuery", - Handler: _ABitOfEverythingService_GetRepeatedQuery_Handler, - }, - { - MethodName: "Echo", - Handler: _ABitOfEverythingService_Echo_Handler, - }, - { - MethodName: "DeepPathEcho", - Handler: _ABitOfEverythingService_DeepPathEcho_Handler, - }, - { - MethodName: "NoBindings", - Handler: _ABitOfEverythingService_NoBindings_Handler, - }, - { - MethodName: "Timeout", - Handler: _ABitOfEverythingService_Timeout_Handler, - }, - { - MethodName: "ErrorWithDetails", - Handler: _ABitOfEverythingService_ErrorWithDetails_Handler, - }, - { - MethodName: "GetMessageWithBody", - Handler: _ABitOfEverythingService_GetMessageWithBody_Handler, - }, - { - MethodName: "PostWithEmptyBody", - Handler: _ABitOfEverythingService_PostWithEmptyBody_Handler, - }, - { - MethodName: "CheckGetQueryParams", - Handler: _ABitOfEverythingService_CheckGetQueryParams_Handler, - }, - { - MethodName: "CheckNestedEnumGetQueryParams", - Handler: _ABitOfEverythingService_CheckNestedEnumGetQueryParams_Handler, - }, - { - MethodName: "CheckPostQueryParams", - Handler: _ABitOfEverythingService_CheckPostQueryParams_Handler, - }, - { - MethodName: "OverwriteResponseContentType", - Handler: _ABitOfEverythingService_OverwriteResponseContentType_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", -} - -// CamelCaseServiceNameClient is the client API for CamelCaseServiceName service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type CamelCaseServiceNameClient interface { - Empty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) -} - -type camelCaseServiceNameClient struct { - cc grpc.ClientConnInterface -} - -func NewCamelCaseServiceNameClient(cc grpc.ClientConnInterface) CamelCaseServiceNameClient { - return &camelCaseServiceNameClient{cc} -} - -func (c *camelCaseServiceNameClient) Empty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName/Empty", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// CamelCaseServiceNameServer is the server API for CamelCaseServiceName service. -type CamelCaseServiceNameServer interface { - Empty(context.Context, *empty.Empty) (*empty.Empty, error) -} - -// UnimplementedCamelCaseServiceNameServer can be embedded to have forward compatible implementations. -type UnimplementedCamelCaseServiceNameServer struct { -} - -func (*UnimplementedCamelCaseServiceNameServer) Empty(context.Context, *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Empty not implemented") -} - -func RegisterCamelCaseServiceNameServer(s *grpc.Server, srv CamelCaseServiceNameServer) { - s.RegisterService(&_CamelCaseServiceName_serviceDesc, srv) -} - -func _CamelCaseServiceName_Empty_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CamelCaseServiceNameServer).Empty(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName/Empty", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CamelCaseServiceNameServer).Empty(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -var _CamelCaseServiceName_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName", - HandlerType: (*CamelCaseServiceNameServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Empty", - Handler: _CamelCaseServiceName_Empty_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", -} - -// AnotherServiceWithNoBindingsClient is the client API for AnotherServiceWithNoBindings service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type AnotherServiceWithNoBindingsClient interface { - NoBindings(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) -} - -type anotherServiceWithNoBindingsClient struct { - cc grpc.ClientConnInterface -} - -func NewAnotherServiceWithNoBindingsClient(cc grpc.ClientConnInterface) AnotherServiceWithNoBindingsClient { - return &anotherServiceWithNoBindingsClient{cc} -} - -func (c *anotherServiceWithNoBindingsClient) NoBindings(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings/NoBindings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// AnotherServiceWithNoBindingsServer is the server API for AnotherServiceWithNoBindings service. -type AnotherServiceWithNoBindingsServer interface { - NoBindings(context.Context, *empty.Empty) (*empty.Empty, error) -} - -// UnimplementedAnotherServiceWithNoBindingsServer can be embedded to have forward compatible implementations. -type UnimplementedAnotherServiceWithNoBindingsServer struct { -} - -func (*UnimplementedAnotherServiceWithNoBindingsServer) NoBindings(context.Context, *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NoBindings not implemented") -} - -func RegisterAnotherServiceWithNoBindingsServer(s *grpc.Server, srv AnotherServiceWithNoBindingsServer) { - s.RegisterService(&_AnotherServiceWithNoBindings_serviceDesc, srv) -} - -func _AnotherServiceWithNoBindings_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings/NoBindings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -var _AnotherServiceWithNoBindings_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings", - HandlerType: (*AnotherServiceWithNoBindingsServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "NoBindings", - Handler: _AnotherServiceWithNoBindings_NoBindings_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", -} diff --git a/examples/internal/proto/examplepb/a_bit_of_everything_grpc.pb.go b/examples/internal/proto/examplepb/a_bit_of_everything_grpc.pb.go new file mode 100644 index 00000000000..0dd4cda0937 --- /dev/null +++ b/examples/internal/proto/examplepb/a_bit_of_everything_grpc.pb.go @@ -0,0 +1,903 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + duration "github.com/golang/protobuf/ptypes/duration" + empty "github.com/golang/protobuf/ptypes/empty" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + sub "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub" + sub2 "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub2" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ABitOfEverythingServiceClient is the client API for ABitOfEverythingService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ABitOfEverythingServiceClient interface { + // Create a new ABitOfEverything + // + // This API creates a new ABitOfEverything + Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error) + Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) + UpdateV2(ctx context.Context, in *UpdateV2Request, opts ...grpc.CallOption) (*empty.Empty, error) + Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*empty.Empty, error) + GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) + GetRepeatedQuery(ctx context.Context, in *ABitOfEverythingRepeated, opts ...grpc.CallOption) (*ABitOfEverythingRepeated, error) + // Echo allows posting a StringMessage value. + // + // It also exposes multiple bindings. + // + // This makes it useful when validating that the OpenAPI v2 API + // description exposes documentation correctly on all paths + // defined as additional_bindings in the proto. + Echo(ctx context.Context, in *sub.StringMessage, opts ...grpc.CallOption) (*sub.StringMessage, error) + DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + NoBindings(ctx context.Context, in *duration.Duration, opts ...grpc.CallOption) (*empty.Empty, error) + Timeout(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) + ErrorWithDetails(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) + GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*empty.Empty, error) + PostWithEmptyBody(ctx context.Context, in *Body, opts ...grpc.CallOption) (*empty.Empty, error) + CheckGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + CheckNestedEnumGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + CheckPostQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) + OverwriteResponseContentType(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*wrappers.StringValue, error) +} + +type aBitOfEverythingServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewABitOfEverythingServiceClient(cc grpc.ClientConnInterface) ABitOfEverythingServiceClient { + return &aBitOfEverythingServiceClient{cc} +} + +func (c *aBitOfEverythingServiceClient) Create(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Create", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) CreateBody(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CreateBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) Lookup(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Lookup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) Update(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) UpdateV2(ctx context.Context, in *UpdateV2Request, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/UpdateV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) Delete(ctx context.Context, in *sub2.IdMessage, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Delete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) GetQuery(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetQuery", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) GetRepeatedQuery(ctx context.Context, in *ABitOfEverythingRepeated, opts ...grpc.CallOption) (*ABitOfEverythingRepeated, error) { + out := new(ABitOfEverythingRepeated) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetRepeatedQuery", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) Echo(ctx context.Context, in *sub.StringMessage, opts ...grpc.CallOption) (*sub.StringMessage, error) { + out := new(sub.StringMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Echo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) DeepPathEcho(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/DeepPathEcho", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) NoBindings(ctx context.Context, in *duration.Duration, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/NoBindings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) Timeout(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Timeout", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) ErrorWithDetails(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/ErrorWithDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) GetMessageWithBody(ctx context.Context, in *MessageWithBody, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetMessageWithBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) PostWithEmptyBody(ctx context.Context, in *Body, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/PostWithEmptyBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) CheckGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckGetQueryParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) CheckNestedEnumGetQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckNestedEnumGetQueryParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) CheckPostQueryParams(ctx context.Context, in *ABitOfEverything, opts ...grpc.CallOption) (*ABitOfEverything, error) { + out := new(ABitOfEverything) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckPostQueryParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aBitOfEverythingServiceClient) OverwriteResponseContentType(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*wrappers.StringValue, error) { + out := new(wrappers.StringValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/OverwriteResponseContentType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ABitOfEverythingServiceServer is the server API for ABitOfEverythingService service. +type ABitOfEverythingServiceServer interface { + // Create a new ABitOfEverything + // + // This API creates a new ABitOfEverything + Create(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + CreateBody(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + Lookup(context.Context, *sub2.IdMessage) (*ABitOfEverything, error) + Update(context.Context, *ABitOfEverything) (*empty.Empty, error) + UpdateV2(context.Context, *UpdateV2Request) (*empty.Empty, error) + Delete(context.Context, *sub2.IdMessage) (*empty.Empty, error) + GetQuery(context.Context, *ABitOfEverything) (*empty.Empty, error) + GetRepeatedQuery(context.Context, *ABitOfEverythingRepeated) (*ABitOfEverythingRepeated, error) + // Echo allows posting a StringMessage value. + // + // It also exposes multiple bindings. + // + // This makes it useful when validating that the OpenAPI v2 API + // description exposes documentation correctly on all paths + // defined as additional_bindings in the proto. + Echo(context.Context, *sub.StringMessage) (*sub.StringMessage, error) + DeepPathEcho(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + NoBindings(context.Context, *duration.Duration) (*empty.Empty, error) + Timeout(context.Context, *empty.Empty) (*empty.Empty, error) + ErrorWithDetails(context.Context, *empty.Empty) (*empty.Empty, error) + GetMessageWithBody(context.Context, *MessageWithBody) (*empty.Empty, error) + PostWithEmptyBody(context.Context, *Body) (*empty.Empty, error) + CheckGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + CheckNestedEnumGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + CheckPostQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) + OverwriteResponseContentType(context.Context, *empty.Empty) (*wrappers.StringValue, error) +} + +// UnimplementedABitOfEverythingServiceServer can be embedded to have forward compatible implementations. +type UnimplementedABitOfEverythingServiceServer struct { +} + +func (*UnimplementedABitOfEverythingServiceServer) Create(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) CreateBody(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBody not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) Lookup(context.Context, *sub2.IdMessage) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method Lookup not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) Update(context.Context, *ABitOfEverything) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) UpdateV2(context.Context, *UpdateV2Request) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateV2 not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) Delete(context.Context, *sub2.IdMessage) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) GetQuery(context.Context, *ABitOfEverything) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetQuery not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) GetRepeatedQuery(context.Context, *ABitOfEverythingRepeated) (*ABitOfEverythingRepeated, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRepeatedQuery not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) Echo(context.Context, *sub.StringMessage) (*sub.StringMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) DeepPathEcho(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeepPathEcho not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) NoBindings(context.Context, *duration.Duration) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NoBindings not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) Timeout(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Timeout not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) ErrorWithDetails(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ErrorWithDetails not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) GetMessageWithBody(context.Context, *MessageWithBody) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMessageWithBody not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) PostWithEmptyBody(context.Context, *Body) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostWithEmptyBody not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) CheckGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckGetQueryParams not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) CheckNestedEnumGetQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckNestedEnumGetQueryParams not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) CheckPostQueryParams(context.Context, *ABitOfEverything) (*ABitOfEverything, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckPostQueryParams not implemented") +} +func (*UnimplementedABitOfEverythingServiceServer) OverwriteResponseContentType(context.Context, *empty.Empty) (*wrappers.StringValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method OverwriteResponseContentType not implemented") +} + +func RegisterABitOfEverythingServiceServer(s *grpc.Server, srv ABitOfEverythingServiceServer) { + s.RegisterService(&_ABitOfEverythingService_serviceDesc, srv) +} + +func _ABitOfEverythingService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Create", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Create(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_CreateBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CreateBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).CreateBody(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_Lookup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(sub2.IdMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Lookup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Lookup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Lookup(ctx, req.(*sub2.IdMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Update", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Update(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_UpdateV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateV2Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).UpdateV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/UpdateV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).UpdateV2(ctx, req.(*UpdateV2Request)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(sub2.IdMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Delete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Delete(ctx, req.(*sub2.IdMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_GetQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetQuery", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).GetQuery(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_GetRepeatedQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverythingRepeated) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).GetRepeatedQuery(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetRepeatedQuery", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).GetRepeatedQuery(ctx, req.(*ABitOfEverythingRepeated)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(sub.StringMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Echo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Echo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Echo(ctx, req.(*sub.StringMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_DeepPathEcho_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/DeepPathEcho", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).DeepPathEcho(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(duration.Duration) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/NoBindings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).NoBindings(ctx, req.(*duration.Duration)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_Timeout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).Timeout(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/Timeout", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).Timeout(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_ErrorWithDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).ErrorWithDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/ErrorWithDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).ErrorWithDetails(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_GetMessageWithBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MessageWithBody) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/GetMessageWithBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).GetMessageWithBody(ctx, req.(*MessageWithBody)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_PostWithEmptyBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Body) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).PostWithEmptyBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/PostWithEmptyBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).PostWithEmptyBody(ctx, req.(*Body)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_CheckGetQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).CheckGetQueryParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckGetQueryParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).CheckGetQueryParams(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_CheckNestedEnumGetQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).CheckNestedEnumGetQueryParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckNestedEnumGetQueryParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).CheckNestedEnumGetQueryParams(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_CheckPostQueryParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ABitOfEverything) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).CheckPostQueryParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/CheckPostQueryParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).CheckPostQueryParams(ctx, req.(*ABitOfEverything)) + } + return interceptor(ctx, in, info, handler) +} + +func _ABitOfEverythingService_OverwriteResponseContentType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABitOfEverythingServiceServer).OverwriteResponseContentType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService/OverwriteResponseContentType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABitOfEverythingServiceServer).OverwriteResponseContentType(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _ABitOfEverythingService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.ABitOfEverythingService", + HandlerType: (*ABitOfEverythingServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Create", + Handler: _ABitOfEverythingService_Create_Handler, + }, + { + MethodName: "CreateBody", + Handler: _ABitOfEverythingService_CreateBody_Handler, + }, + { + MethodName: "Lookup", + Handler: _ABitOfEverythingService_Lookup_Handler, + }, + { + MethodName: "Update", + Handler: _ABitOfEverythingService_Update_Handler, + }, + { + MethodName: "UpdateV2", + Handler: _ABitOfEverythingService_UpdateV2_Handler, + }, + { + MethodName: "Delete", + Handler: _ABitOfEverythingService_Delete_Handler, + }, + { + MethodName: "GetQuery", + Handler: _ABitOfEverythingService_GetQuery_Handler, + }, + { + MethodName: "GetRepeatedQuery", + Handler: _ABitOfEverythingService_GetRepeatedQuery_Handler, + }, + { + MethodName: "Echo", + Handler: _ABitOfEverythingService_Echo_Handler, + }, + { + MethodName: "DeepPathEcho", + Handler: _ABitOfEverythingService_DeepPathEcho_Handler, + }, + { + MethodName: "NoBindings", + Handler: _ABitOfEverythingService_NoBindings_Handler, + }, + { + MethodName: "Timeout", + Handler: _ABitOfEverythingService_Timeout_Handler, + }, + { + MethodName: "ErrorWithDetails", + Handler: _ABitOfEverythingService_ErrorWithDetails_Handler, + }, + { + MethodName: "GetMessageWithBody", + Handler: _ABitOfEverythingService_GetMessageWithBody_Handler, + }, + { + MethodName: "PostWithEmptyBody", + Handler: _ABitOfEverythingService_PostWithEmptyBody_Handler, + }, + { + MethodName: "CheckGetQueryParams", + Handler: _ABitOfEverythingService_CheckGetQueryParams_Handler, + }, + { + MethodName: "CheckNestedEnumGetQueryParams", + Handler: _ABitOfEverythingService_CheckNestedEnumGetQueryParams_Handler, + }, + { + MethodName: "CheckPostQueryParams", + Handler: _ABitOfEverythingService_CheckPostQueryParams_Handler, + }, + { + MethodName: "OverwriteResponseContentType", + Handler: _ABitOfEverythingService_OverwriteResponseContentType_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", +} + +// CamelCaseServiceNameClient is the client API for CamelCaseServiceName service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CamelCaseServiceNameClient interface { + Empty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type camelCaseServiceNameClient struct { + cc grpc.ClientConnInterface +} + +func NewCamelCaseServiceNameClient(cc grpc.ClientConnInterface) CamelCaseServiceNameClient { + return &camelCaseServiceNameClient{cc} +} + +func (c *camelCaseServiceNameClient) Empty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName/Empty", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CamelCaseServiceNameServer is the server API for CamelCaseServiceName service. +type CamelCaseServiceNameServer interface { + Empty(context.Context, *empty.Empty) (*empty.Empty, error) +} + +// UnimplementedCamelCaseServiceNameServer can be embedded to have forward compatible implementations. +type UnimplementedCamelCaseServiceNameServer struct { +} + +func (*UnimplementedCamelCaseServiceNameServer) Empty(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Empty not implemented") +} + +func RegisterCamelCaseServiceNameServer(s *grpc.Server, srv CamelCaseServiceNameServer) { + s.RegisterService(&_CamelCaseServiceName_serviceDesc, srv) +} + +func _CamelCaseServiceName_Empty_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CamelCaseServiceNameServer).Empty(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName/Empty", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CamelCaseServiceNameServer).Empty(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _CamelCaseServiceName_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.camelCaseServiceName", + HandlerType: (*CamelCaseServiceNameServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Empty", + Handler: _CamelCaseServiceName_Empty_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", +} + +// AnotherServiceWithNoBindingsClient is the client API for AnotherServiceWithNoBindings service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AnotherServiceWithNoBindingsClient interface { + NoBindings(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type anotherServiceWithNoBindingsClient struct { + cc grpc.ClientConnInterface +} + +func NewAnotherServiceWithNoBindingsClient(cc grpc.ClientConnInterface) AnotherServiceWithNoBindingsClient { + return &anotherServiceWithNoBindingsClient{cc} +} + +func (c *anotherServiceWithNoBindingsClient) NoBindings(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings/NoBindings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AnotherServiceWithNoBindingsServer is the server API for AnotherServiceWithNoBindings service. +type AnotherServiceWithNoBindingsServer interface { + NoBindings(context.Context, *empty.Empty) (*empty.Empty, error) +} + +// UnimplementedAnotherServiceWithNoBindingsServer can be embedded to have forward compatible implementations. +type UnimplementedAnotherServiceWithNoBindingsServer struct { +} + +func (*UnimplementedAnotherServiceWithNoBindingsServer) NoBindings(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NoBindings not implemented") +} + +func RegisterAnotherServiceWithNoBindingsServer(s *grpc.Server, srv AnotherServiceWithNoBindingsServer) { + s.RegisterService(&_AnotherServiceWithNoBindings_serviceDesc, srv) +} + +func _AnotherServiceWithNoBindings_NoBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings/NoBindings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnotherServiceWithNoBindingsServer).NoBindings(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _AnotherServiceWithNoBindings_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.AnotherServiceWithNoBindings", + HandlerType: (*AnotherServiceWithNoBindingsServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "NoBindings", + Handler: _AnotherServiceWithNoBindings_NoBindings_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/a_bit_of_everything.proto", +} diff --git a/examples/internal/proto/examplepb/echo_service.pb.go b/examples/internal/proto/examplepb/echo_service.pb.go index 9c439b7be0f..cd1c2e101e6 100644 --- a/examples/internal/proto/examplepb/echo_service.pb.go +++ b/examples/internal/proto/examplepb/echo_service.pb.go @@ -12,12 +12,8 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -441,167 +437,3 @@ func file_examples_internal_proto_examplepb_echo_service_proto_init() { file_examples_internal_proto_examplepb_echo_service_proto_goTypes = nil file_examples_internal_proto_examplepb_echo_service_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// EchoServiceClient is the client API for EchoService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type EchoServiceClient interface { - // Echo method receives a simple message and returns it. - // - // The message posted as the id parameter will also be - // returned. - Echo(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) - // EchoBody method receives a simple message and returns it. - EchoBody(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) - // EchoDelete method receives a simple message and returns it. - EchoDelete(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) -} - -type echoServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewEchoServiceClient(cc grpc.ClientConnInterface) EchoServiceClient { - return &echoServiceClient{cc} -} - -func (c *echoServiceClient) Echo(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { - out := new(SimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/Echo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *echoServiceClient) EchoBody(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { - out := new(SimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *echoServiceClient) EchoDelete(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { - out := new(SimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoDelete", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// EchoServiceServer is the server API for EchoService service. -type EchoServiceServer interface { - // Echo method receives a simple message and returns it. - // - // The message posted as the id parameter will also be - // returned. - Echo(context.Context, *SimpleMessage) (*SimpleMessage, error) - // EchoBody method receives a simple message and returns it. - EchoBody(context.Context, *SimpleMessage) (*SimpleMessage, error) - // EchoDelete method receives a simple message and returns it. - EchoDelete(context.Context, *SimpleMessage) (*SimpleMessage, error) -} - -// UnimplementedEchoServiceServer can be embedded to have forward compatible implementations. -type UnimplementedEchoServiceServer struct { -} - -func (*UnimplementedEchoServiceServer) Echo(context.Context, *SimpleMessage) (*SimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") -} -func (*UnimplementedEchoServiceServer) EchoBody(context.Context, *SimpleMessage) (*SimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method EchoBody not implemented") -} -func (*UnimplementedEchoServiceServer) EchoDelete(context.Context, *SimpleMessage) (*SimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method EchoDelete not implemented") -} - -func RegisterEchoServiceServer(s *grpc.Server, srv EchoServiceServer) { - s.RegisterService(&_EchoService_serviceDesc, srv) -} - -func _EchoService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(EchoServiceServer).Echo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/Echo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(EchoServiceServer).Echo(ctx, req.(*SimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _EchoService_EchoBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(EchoServiceServer).EchoBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(EchoServiceServer).EchoBody(ctx, req.(*SimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _EchoService_EchoDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(EchoServiceServer).EchoDelete(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoDelete", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(EchoServiceServer).EchoDelete(ctx, req.(*SimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -var _EchoService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.EchoService", - HandlerType: (*EchoServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Echo", - Handler: _EchoService_Echo_Handler, - }, - { - MethodName: "EchoBody", - Handler: _EchoService_EchoBody_Handler, - }, - { - MethodName: "EchoDelete", - Handler: _EchoService_EchoDelete_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/echo_service.proto", -} diff --git a/examples/internal/proto/examplepb/echo_service_grpc.pb.go b/examples/internal/proto/examplepb/echo_service_grpc.pb.go new file mode 100644 index 00000000000..06f8f7539f0 --- /dev/null +++ b/examples/internal/proto/examplepb/echo_service_grpc.pb.go @@ -0,0 +1,170 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// EchoServiceClient is the client API for EchoService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type EchoServiceClient interface { + // Echo method receives a simple message and returns it. + // + // The message posted as the id parameter will also be + // returned. + Echo(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) + // EchoBody method receives a simple message and returns it. + EchoBody(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) + // EchoDelete method receives a simple message and returns it. + EchoDelete(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) +} + +type echoServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewEchoServiceClient(cc grpc.ClientConnInterface) EchoServiceClient { + return &echoServiceClient{cc} +} + +func (c *echoServiceClient) Echo(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { + out := new(SimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/Echo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *echoServiceClient) EchoBody(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { + out := new(SimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *echoServiceClient) EchoDelete(ctx context.Context, in *SimpleMessage, opts ...grpc.CallOption) (*SimpleMessage, error) { + out := new(SimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoDelete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// EchoServiceServer is the server API for EchoService service. +type EchoServiceServer interface { + // Echo method receives a simple message and returns it. + // + // The message posted as the id parameter will also be + // returned. + Echo(context.Context, *SimpleMessage) (*SimpleMessage, error) + // EchoBody method receives a simple message and returns it. + EchoBody(context.Context, *SimpleMessage) (*SimpleMessage, error) + // EchoDelete method receives a simple message and returns it. + EchoDelete(context.Context, *SimpleMessage) (*SimpleMessage, error) +} + +// UnimplementedEchoServiceServer can be embedded to have forward compatible implementations. +type UnimplementedEchoServiceServer struct { +} + +func (*UnimplementedEchoServiceServer) Echo(context.Context, *SimpleMessage) (*SimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") +} +func (*UnimplementedEchoServiceServer) EchoBody(context.Context, *SimpleMessage) (*SimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method EchoBody not implemented") +} +func (*UnimplementedEchoServiceServer) EchoDelete(context.Context, *SimpleMessage) (*SimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method EchoDelete not implemented") +} + +func RegisterEchoServiceServer(s *grpc.Server, srv EchoServiceServer) { + s.RegisterService(&_EchoService_serviceDesc, srv) +} + +func _EchoService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EchoServiceServer).Echo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/Echo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EchoServiceServer).Echo(ctx, req.(*SimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _EchoService_EchoBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EchoServiceServer).EchoBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EchoServiceServer).EchoBody(ctx, req.(*SimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _EchoService_EchoDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EchoServiceServer).EchoDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.EchoService/EchoDelete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EchoServiceServer).EchoDelete(ctx, req.(*SimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +var _EchoService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.EchoService", + HandlerType: (*EchoServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Echo", + Handler: _EchoService_Echo_Handler, + }, + { + MethodName: "EchoBody", + Handler: _EchoService_EchoBody_Handler, + }, + { + MethodName: "EchoDelete", + Handler: _EchoService_EchoDelete_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/echo_service.proto", +} diff --git a/examples/internal/proto/examplepb/flow_combination.pb.go b/examples/internal/proto/examplepb/flow_combination.pb.go index 480ecd3c188..c10fd3a533b 100644 --- a/examples/internal/proto/examplepb/flow_combination.pb.go +++ b/examples/internal/proto/examplepb/flow_combination.pb.go @@ -7,12 +7,8 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -607,582 +603,3 @@ func file_examples_internal_proto_examplepb_flow_combination_proto_init() { file_examples_internal_proto_examplepb_flow_combination_proto_goTypes = nil file_examples_internal_proto_examplepb_flow_combination_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// FlowCombinationClient is the client API for FlowCombination service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type FlowCombinationClient interface { - RpcEmptyRpc(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) - RpcEmptyStream(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcEmptyStreamClient, error) - StreamEmptyRpc(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyRpcClient, error) - StreamEmptyStream(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyStreamClient, error) - RpcBodyRpc(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) - RpcPathSingleNestedRpc(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (*EmptyProto, error) - RpcPathNestedRpc(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (*EmptyProto, error) - RpcBodyStream(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcBodyStreamClient, error) - RpcPathSingleNestedStream(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathSingleNestedStreamClient, error) - RpcPathNestedStream(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathNestedStreamClient, error) -} - -type flowCombinationClient struct { - cc grpc.ClientConnInterface -} - -func NewFlowCombinationClient(cc grpc.ClientConnInterface) FlowCombinationClient { - return &flowCombinationClient{cc} -} - -func (c *flowCombinationClient) RpcEmptyRpc(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) { - out := new(EmptyProto) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyRpc", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *flowCombinationClient) RpcEmptyStream(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcEmptyStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyStream", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationRpcEmptyStreamClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type FlowCombination_RpcEmptyStreamClient interface { - Recv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationRpcEmptyStreamClient struct { - grpc.ClientStream -} - -func (x *flowCombinationRpcEmptyStreamClient) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *flowCombinationClient) StreamEmptyRpc(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyRpcClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[1], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/StreamEmptyRpc", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationStreamEmptyRpcClient{stream} - return x, nil -} - -type FlowCombination_StreamEmptyRpcClient interface { - Send(*EmptyProto) error - CloseAndRecv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationStreamEmptyRpcClient struct { - grpc.ClientStream -} - -func (x *flowCombinationStreamEmptyRpcClient) Send(m *EmptyProto) error { - return x.ClientStream.SendMsg(m) -} - -func (x *flowCombinationStreamEmptyRpcClient) CloseAndRecv() (*EmptyProto, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *flowCombinationClient) StreamEmptyStream(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[2], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/StreamEmptyStream", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationStreamEmptyStreamClient{stream} - return x, nil -} - -type FlowCombination_StreamEmptyStreamClient interface { - Send(*EmptyProto) error - Recv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationStreamEmptyStreamClient struct { - grpc.ClientStream -} - -func (x *flowCombinationStreamEmptyStreamClient) Send(m *EmptyProto) error { - return x.ClientStream.SendMsg(m) -} - -func (x *flowCombinationStreamEmptyStreamClient) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *flowCombinationClient) RpcBodyRpc(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) { - out := new(EmptyProto) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyRpc", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *flowCombinationClient) RpcPathSingleNestedRpc(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (*EmptyProto, error) { - out := new(EmptyProto) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedRpc", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *flowCombinationClient) RpcPathNestedRpc(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (*EmptyProto, error) { - out := new(EmptyProto) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedRpc", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *flowCombinationClient) RpcBodyStream(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcBodyStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[3], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyStream", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationRpcBodyStreamClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type FlowCombination_RpcBodyStreamClient interface { - Recv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationRpcBodyStreamClient struct { - grpc.ClientStream -} - -func (x *flowCombinationRpcBodyStreamClient) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *flowCombinationClient) RpcPathSingleNestedStream(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathSingleNestedStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[4], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedStream", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationRpcPathSingleNestedStreamClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type FlowCombination_RpcPathSingleNestedStreamClient interface { - Recv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationRpcPathSingleNestedStreamClient struct { - grpc.ClientStream -} - -func (x *flowCombinationRpcPathSingleNestedStreamClient) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *flowCombinationClient) RpcPathNestedStream(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathNestedStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[5], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedStream", opts...) - if err != nil { - return nil, err - } - x := &flowCombinationRpcPathNestedStreamClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type FlowCombination_RpcPathNestedStreamClient interface { - Recv() (*EmptyProto, error) - grpc.ClientStream -} - -type flowCombinationRpcPathNestedStreamClient struct { - grpc.ClientStream -} - -func (x *flowCombinationRpcPathNestedStreamClient) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// FlowCombinationServer is the server API for FlowCombination service. -type FlowCombinationServer interface { - RpcEmptyRpc(context.Context, *EmptyProto) (*EmptyProto, error) - RpcEmptyStream(*EmptyProto, FlowCombination_RpcEmptyStreamServer) error - StreamEmptyRpc(FlowCombination_StreamEmptyRpcServer) error - StreamEmptyStream(FlowCombination_StreamEmptyStreamServer) error - RpcBodyRpc(context.Context, *NonEmptyProto) (*EmptyProto, error) - RpcPathSingleNestedRpc(context.Context, *SingleNestedProto) (*EmptyProto, error) - RpcPathNestedRpc(context.Context, *NestedProto) (*EmptyProto, error) - RpcBodyStream(*NonEmptyProto, FlowCombination_RpcBodyStreamServer) error - RpcPathSingleNestedStream(*SingleNestedProto, FlowCombination_RpcPathSingleNestedStreamServer) error - RpcPathNestedStream(*NestedProto, FlowCombination_RpcPathNestedStreamServer) error -} - -// UnimplementedFlowCombinationServer can be embedded to have forward compatible implementations. -type UnimplementedFlowCombinationServer struct { -} - -func (*UnimplementedFlowCombinationServer) RpcEmptyRpc(context.Context, *EmptyProto) (*EmptyProto, error) { - return nil, status.Errorf(codes.Unimplemented, "method RpcEmptyRpc not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcEmptyStream(*EmptyProto, FlowCombination_RpcEmptyStreamServer) error { - return status.Errorf(codes.Unimplemented, "method RpcEmptyStream not implemented") -} -func (*UnimplementedFlowCombinationServer) StreamEmptyRpc(FlowCombination_StreamEmptyRpcServer) error { - return status.Errorf(codes.Unimplemented, "method StreamEmptyRpc not implemented") -} -func (*UnimplementedFlowCombinationServer) StreamEmptyStream(FlowCombination_StreamEmptyStreamServer) error { - return status.Errorf(codes.Unimplemented, "method StreamEmptyStream not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcBodyRpc(context.Context, *NonEmptyProto) (*EmptyProto, error) { - return nil, status.Errorf(codes.Unimplemented, "method RpcBodyRpc not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcPathSingleNestedRpc(context.Context, *SingleNestedProto) (*EmptyProto, error) { - return nil, status.Errorf(codes.Unimplemented, "method RpcPathSingleNestedRpc not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcPathNestedRpc(context.Context, *NestedProto) (*EmptyProto, error) { - return nil, status.Errorf(codes.Unimplemented, "method RpcPathNestedRpc not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcBodyStream(*NonEmptyProto, FlowCombination_RpcBodyStreamServer) error { - return status.Errorf(codes.Unimplemented, "method RpcBodyStream not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcPathSingleNestedStream(*SingleNestedProto, FlowCombination_RpcPathSingleNestedStreamServer) error { - return status.Errorf(codes.Unimplemented, "method RpcPathSingleNestedStream not implemented") -} -func (*UnimplementedFlowCombinationServer) RpcPathNestedStream(*NestedProto, FlowCombination_RpcPathNestedStreamServer) error { - return status.Errorf(codes.Unimplemented, "method RpcPathNestedStream not implemented") -} - -func RegisterFlowCombinationServer(s *grpc.Server, srv FlowCombinationServer) { - s.RegisterService(&_FlowCombination_serviceDesc, srv) -} - -func _FlowCombination_RpcEmptyRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyProto) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(FlowCombinationServer).RpcEmptyRpc(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyRpc", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FlowCombinationServer).RpcEmptyRpc(ctx, req.(*EmptyProto)) - } - return interceptor(ctx, in, info, handler) -} - -func _FlowCombination_RpcEmptyStream_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(EmptyProto) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(FlowCombinationServer).RpcEmptyStream(m, &flowCombinationRpcEmptyStreamServer{stream}) -} - -type FlowCombination_RpcEmptyStreamServer interface { - Send(*EmptyProto) error - grpc.ServerStream -} - -type flowCombinationRpcEmptyStreamServer struct { - grpc.ServerStream -} - -func (x *flowCombinationRpcEmptyStreamServer) Send(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -func _FlowCombination_StreamEmptyRpc_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(FlowCombinationServer).StreamEmptyRpc(&flowCombinationStreamEmptyRpcServer{stream}) -} - -type FlowCombination_StreamEmptyRpcServer interface { - SendAndClose(*EmptyProto) error - Recv() (*EmptyProto, error) - grpc.ServerStream -} - -type flowCombinationStreamEmptyRpcServer struct { - grpc.ServerStream -} - -func (x *flowCombinationStreamEmptyRpcServer) SendAndClose(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -func (x *flowCombinationStreamEmptyRpcServer) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _FlowCombination_StreamEmptyStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(FlowCombinationServer).StreamEmptyStream(&flowCombinationStreamEmptyStreamServer{stream}) -} - -type FlowCombination_StreamEmptyStreamServer interface { - Send(*EmptyProto) error - Recv() (*EmptyProto, error) - grpc.ServerStream -} - -type flowCombinationStreamEmptyStreamServer struct { - grpc.ServerStream -} - -func (x *flowCombinationStreamEmptyStreamServer) Send(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -func (x *flowCombinationStreamEmptyStreamServer) Recv() (*EmptyProto, error) { - m := new(EmptyProto) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _FlowCombination_RpcBodyRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NonEmptyProto) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(FlowCombinationServer).RpcBodyRpc(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyRpc", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FlowCombinationServer).RpcBodyRpc(ctx, req.(*NonEmptyProto)) - } - return interceptor(ctx, in, info, handler) -} - -func _FlowCombination_RpcPathSingleNestedRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SingleNestedProto) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(FlowCombinationServer).RpcPathSingleNestedRpc(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedRpc", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FlowCombinationServer).RpcPathSingleNestedRpc(ctx, req.(*SingleNestedProto)) - } - return interceptor(ctx, in, info, handler) -} - -func _FlowCombination_RpcPathNestedRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NestedProto) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(FlowCombinationServer).RpcPathNestedRpc(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedRpc", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FlowCombinationServer).RpcPathNestedRpc(ctx, req.(*NestedProto)) - } - return interceptor(ctx, in, info, handler) -} - -func _FlowCombination_RpcBodyStream_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(NonEmptyProto) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(FlowCombinationServer).RpcBodyStream(m, &flowCombinationRpcBodyStreamServer{stream}) -} - -type FlowCombination_RpcBodyStreamServer interface { - Send(*EmptyProto) error - grpc.ServerStream -} - -type flowCombinationRpcBodyStreamServer struct { - grpc.ServerStream -} - -func (x *flowCombinationRpcBodyStreamServer) Send(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -func _FlowCombination_RpcPathSingleNestedStream_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SingleNestedProto) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(FlowCombinationServer).RpcPathSingleNestedStream(m, &flowCombinationRpcPathSingleNestedStreamServer{stream}) -} - -type FlowCombination_RpcPathSingleNestedStreamServer interface { - Send(*EmptyProto) error - grpc.ServerStream -} - -type flowCombinationRpcPathSingleNestedStreamServer struct { - grpc.ServerStream -} - -func (x *flowCombinationRpcPathSingleNestedStreamServer) Send(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -func _FlowCombination_RpcPathNestedStream_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(NestedProto) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(FlowCombinationServer).RpcPathNestedStream(m, &flowCombinationRpcPathNestedStreamServer{stream}) -} - -type FlowCombination_RpcPathNestedStreamServer interface { - Send(*EmptyProto) error - grpc.ServerStream -} - -type flowCombinationRpcPathNestedStreamServer struct { - grpc.ServerStream -} - -func (x *flowCombinationRpcPathNestedStreamServer) Send(m *EmptyProto) error { - return x.ServerStream.SendMsg(m) -} - -var _FlowCombination_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.FlowCombination", - HandlerType: (*FlowCombinationServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "RpcEmptyRpc", - Handler: _FlowCombination_RpcEmptyRpc_Handler, - }, - { - MethodName: "RpcBodyRpc", - Handler: _FlowCombination_RpcBodyRpc_Handler, - }, - { - MethodName: "RpcPathSingleNestedRpc", - Handler: _FlowCombination_RpcPathSingleNestedRpc_Handler, - }, - { - MethodName: "RpcPathNestedRpc", - Handler: _FlowCombination_RpcPathNestedRpc_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "RpcEmptyStream", - Handler: _FlowCombination_RpcEmptyStream_Handler, - ServerStreams: true, - }, - { - StreamName: "StreamEmptyRpc", - Handler: _FlowCombination_StreamEmptyRpc_Handler, - ClientStreams: true, - }, - { - StreamName: "StreamEmptyStream", - Handler: _FlowCombination_StreamEmptyStream_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "RpcBodyStream", - Handler: _FlowCombination_RpcBodyStream_Handler, - ServerStreams: true, - }, - { - StreamName: "RpcPathSingleNestedStream", - Handler: _FlowCombination_RpcPathSingleNestedStream_Handler, - ServerStreams: true, - }, - { - StreamName: "RpcPathNestedStream", - Handler: _FlowCombination_RpcPathNestedStream_Handler, - ServerStreams: true, - }, - }, - Metadata: "examples/internal/proto/examplepb/flow_combination.proto", -} diff --git a/examples/internal/proto/examplepb/flow_combination_grpc.pb.go b/examples/internal/proto/examplepb/flow_combination_grpc.pb.go new file mode 100644 index 00000000000..cfba2dc6b01 --- /dev/null +++ b/examples/internal/proto/examplepb/flow_combination_grpc.pb.go @@ -0,0 +1,585 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// FlowCombinationClient is the client API for FlowCombination service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FlowCombinationClient interface { + RpcEmptyRpc(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) + RpcEmptyStream(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcEmptyStreamClient, error) + StreamEmptyRpc(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyRpcClient, error) + StreamEmptyStream(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyStreamClient, error) + RpcBodyRpc(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) + RpcPathSingleNestedRpc(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (*EmptyProto, error) + RpcPathNestedRpc(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (*EmptyProto, error) + RpcBodyStream(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcBodyStreamClient, error) + RpcPathSingleNestedStream(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathSingleNestedStreamClient, error) + RpcPathNestedStream(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathNestedStreamClient, error) +} + +type flowCombinationClient struct { + cc grpc.ClientConnInterface +} + +func NewFlowCombinationClient(cc grpc.ClientConnInterface) FlowCombinationClient { + return &flowCombinationClient{cc} +} + +func (c *flowCombinationClient) RpcEmptyRpc(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) { + out := new(EmptyProto) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyRpc", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *flowCombinationClient) RpcEmptyStream(ctx context.Context, in *EmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcEmptyStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyStream", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationRpcEmptyStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type FlowCombination_RpcEmptyStreamClient interface { + Recv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationRpcEmptyStreamClient struct { + grpc.ClientStream +} + +func (x *flowCombinationRpcEmptyStreamClient) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *flowCombinationClient) StreamEmptyRpc(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyRpcClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[1], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/StreamEmptyRpc", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationStreamEmptyRpcClient{stream} + return x, nil +} + +type FlowCombination_StreamEmptyRpcClient interface { + Send(*EmptyProto) error + CloseAndRecv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationStreamEmptyRpcClient struct { + grpc.ClientStream +} + +func (x *flowCombinationStreamEmptyRpcClient) Send(m *EmptyProto) error { + return x.ClientStream.SendMsg(m) +} + +func (x *flowCombinationStreamEmptyRpcClient) CloseAndRecv() (*EmptyProto, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *flowCombinationClient) StreamEmptyStream(ctx context.Context, opts ...grpc.CallOption) (FlowCombination_StreamEmptyStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[2], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/StreamEmptyStream", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationStreamEmptyStreamClient{stream} + return x, nil +} + +type FlowCombination_StreamEmptyStreamClient interface { + Send(*EmptyProto) error + Recv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationStreamEmptyStreamClient struct { + grpc.ClientStream +} + +func (x *flowCombinationStreamEmptyStreamClient) Send(m *EmptyProto) error { + return x.ClientStream.SendMsg(m) +} + +func (x *flowCombinationStreamEmptyStreamClient) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *flowCombinationClient) RpcBodyRpc(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (*EmptyProto, error) { + out := new(EmptyProto) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyRpc", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *flowCombinationClient) RpcPathSingleNestedRpc(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (*EmptyProto, error) { + out := new(EmptyProto) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedRpc", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *flowCombinationClient) RpcPathNestedRpc(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (*EmptyProto, error) { + out := new(EmptyProto) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedRpc", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *flowCombinationClient) RpcBodyStream(ctx context.Context, in *NonEmptyProto, opts ...grpc.CallOption) (FlowCombination_RpcBodyStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[3], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyStream", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationRpcBodyStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type FlowCombination_RpcBodyStreamClient interface { + Recv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationRpcBodyStreamClient struct { + grpc.ClientStream +} + +func (x *flowCombinationRpcBodyStreamClient) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *flowCombinationClient) RpcPathSingleNestedStream(ctx context.Context, in *SingleNestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathSingleNestedStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[4], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedStream", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationRpcPathSingleNestedStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type FlowCombination_RpcPathSingleNestedStreamClient interface { + Recv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationRpcPathSingleNestedStreamClient struct { + grpc.ClientStream +} + +func (x *flowCombinationRpcPathSingleNestedStreamClient) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *flowCombinationClient) RpcPathNestedStream(ctx context.Context, in *NestedProto, opts ...grpc.CallOption) (FlowCombination_RpcPathNestedStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_FlowCombination_serviceDesc.Streams[5], "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedStream", opts...) + if err != nil { + return nil, err + } + x := &flowCombinationRpcPathNestedStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type FlowCombination_RpcPathNestedStreamClient interface { + Recv() (*EmptyProto, error) + grpc.ClientStream +} + +type flowCombinationRpcPathNestedStreamClient struct { + grpc.ClientStream +} + +func (x *flowCombinationRpcPathNestedStreamClient) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// FlowCombinationServer is the server API for FlowCombination service. +type FlowCombinationServer interface { + RpcEmptyRpc(context.Context, *EmptyProto) (*EmptyProto, error) + RpcEmptyStream(*EmptyProto, FlowCombination_RpcEmptyStreamServer) error + StreamEmptyRpc(FlowCombination_StreamEmptyRpcServer) error + StreamEmptyStream(FlowCombination_StreamEmptyStreamServer) error + RpcBodyRpc(context.Context, *NonEmptyProto) (*EmptyProto, error) + RpcPathSingleNestedRpc(context.Context, *SingleNestedProto) (*EmptyProto, error) + RpcPathNestedRpc(context.Context, *NestedProto) (*EmptyProto, error) + RpcBodyStream(*NonEmptyProto, FlowCombination_RpcBodyStreamServer) error + RpcPathSingleNestedStream(*SingleNestedProto, FlowCombination_RpcPathSingleNestedStreamServer) error + RpcPathNestedStream(*NestedProto, FlowCombination_RpcPathNestedStreamServer) error +} + +// UnimplementedFlowCombinationServer can be embedded to have forward compatible implementations. +type UnimplementedFlowCombinationServer struct { +} + +func (*UnimplementedFlowCombinationServer) RpcEmptyRpc(context.Context, *EmptyProto) (*EmptyProto, error) { + return nil, status.Errorf(codes.Unimplemented, "method RpcEmptyRpc not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcEmptyStream(*EmptyProto, FlowCombination_RpcEmptyStreamServer) error { + return status.Errorf(codes.Unimplemented, "method RpcEmptyStream not implemented") +} +func (*UnimplementedFlowCombinationServer) StreamEmptyRpc(FlowCombination_StreamEmptyRpcServer) error { + return status.Errorf(codes.Unimplemented, "method StreamEmptyRpc not implemented") +} +func (*UnimplementedFlowCombinationServer) StreamEmptyStream(FlowCombination_StreamEmptyStreamServer) error { + return status.Errorf(codes.Unimplemented, "method StreamEmptyStream not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcBodyRpc(context.Context, *NonEmptyProto) (*EmptyProto, error) { + return nil, status.Errorf(codes.Unimplemented, "method RpcBodyRpc not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcPathSingleNestedRpc(context.Context, *SingleNestedProto) (*EmptyProto, error) { + return nil, status.Errorf(codes.Unimplemented, "method RpcPathSingleNestedRpc not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcPathNestedRpc(context.Context, *NestedProto) (*EmptyProto, error) { + return nil, status.Errorf(codes.Unimplemented, "method RpcPathNestedRpc not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcBodyStream(*NonEmptyProto, FlowCombination_RpcBodyStreamServer) error { + return status.Errorf(codes.Unimplemented, "method RpcBodyStream not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcPathSingleNestedStream(*SingleNestedProto, FlowCombination_RpcPathSingleNestedStreamServer) error { + return status.Errorf(codes.Unimplemented, "method RpcPathSingleNestedStream not implemented") +} +func (*UnimplementedFlowCombinationServer) RpcPathNestedStream(*NestedProto, FlowCombination_RpcPathNestedStreamServer) error { + return status.Errorf(codes.Unimplemented, "method RpcPathNestedStream not implemented") +} + +func RegisterFlowCombinationServer(s *grpc.Server, srv FlowCombinationServer) { + s.RegisterService(&_FlowCombination_serviceDesc, srv) +} + +func _FlowCombination_RpcEmptyRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyProto) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FlowCombinationServer).RpcEmptyRpc(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcEmptyRpc", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FlowCombinationServer).RpcEmptyRpc(ctx, req.(*EmptyProto)) + } + return interceptor(ctx, in, info, handler) +} + +func _FlowCombination_RpcEmptyStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(EmptyProto) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(FlowCombinationServer).RpcEmptyStream(m, &flowCombinationRpcEmptyStreamServer{stream}) +} + +type FlowCombination_RpcEmptyStreamServer interface { + Send(*EmptyProto) error + grpc.ServerStream +} + +type flowCombinationRpcEmptyStreamServer struct { + grpc.ServerStream +} + +func (x *flowCombinationRpcEmptyStreamServer) Send(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +func _FlowCombination_StreamEmptyRpc_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(FlowCombinationServer).StreamEmptyRpc(&flowCombinationStreamEmptyRpcServer{stream}) +} + +type FlowCombination_StreamEmptyRpcServer interface { + SendAndClose(*EmptyProto) error + Recv() (*EmptyProto, error) + grpc.ServerStream +} + +type flowCombinationStreamEmptyRpcServer struct { + grpc.ServerStream +} + +func (x *flowCombinationStreamEmptyRpcServer) SendAndClose(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +func (x *flowCombinationStreamEmptyRpcServer) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _FlowCombination_StreamEmptyStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(FlowCombinationServer).StreamEmptyStream(&flowCombinationStreamEmptyStreamServer{stream}) +} + +type FlowCombination_StreamEmptyStreamServer interface { + Send(*EmptyProto) error + Recv() (*EmptyProto, error) + grpc.ServerStream +} + +type flowCombinationStreamEmptyStreamServer struct { + grpc.ServerStream +} + +func (x *flowCombinationStreamEmptyStreamServer) Send(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +func (x *flowCombinationStreamEmptyStreamServer) Recv() (*EmptyProto, error) { + m := new(EmptyProto) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _FlowCombination_RpcBodyRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NonEmptyProto) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FlowCombinationServer).RpcBodyRpc(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcBodyRpc", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FlowCombinationServer).RpcBodyRpc(ctx, req.(*NonEmptyProto)) + } + return interceptor(ctx, in, info, handler) +} + +func _FlowCombination_RpcPathSingleNestedRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SingleNestedProto) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FlowCombinationServer).RpcPathSingleNestedRpc(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathSingleNestedRpc", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FlowCombinationServer).RpcPathSingleNestedRpc(ctx, req.(*SingleNestedProto)) + } + return interceptor(ctx, in, info, handler) +} + +func _FlowCombination_RpcPathNestedRpc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NestedProto) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FlowCombinationServer).RpcPathNestedRpc(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.FlowCombination/RpcPathNestedRpc", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FlowCombinationServer).RpcPathNestedRpc(ctx, req.(*NestedProto)) + } + return interceptor(ctx, in, info, handler) +} + +func _FlowCombination_RpcBodyStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(NonEmptyProto) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(FlowCombinationServer).RpcBodyStream(m, &flowCombinationRpcBodyStreamServer{stream}) +} + +type FlowCombination_RpcBodyStreamServer interface { + Send(*EmptyProto) error + grpc.ServerStream +} + +type flowCombinationRpcBodyStreamServer struct { + grpc.ServerStream +} + +func (x *flowCombinationRpcBodyStreamServer) Send(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +func _FlowCombination_RpcPathSingleNestedStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SingleNestedProto) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(FlowCombinationServer).RpcPathSingleNestedStream(m, &flowCombinationRpcPathSingleNestedStreamServer{stream}) +} + +type FlowCombination_RpcPathSingleNestedStreamServer interface { + Send(*EmptyProto) error + grpc.ServerStream +} + +type flowCombinationRpcPathSingleNestedStreamServer struct { + grpc.ServerStream +} + +func (x *flowCombinationRpcPathSingleNestedStreamServer) Send(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +func _FlowCombination_RpcPathNestedStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(NestedProto) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(FlowCombinationServer).RpcPathNestedStream(m, &flowCombinationRpcPathNestedStreamServer{stream}) +} + +type FlowCombination_RpcPathNestedStreamServer interface { + Send(*EmptyProto) error + grpc.ServerStream +} + +type flowCombinationRpcPathNestedStreamServer struct { + grpc.ServerStream +} + +func (x *flowCombinationRpcPathNestedStreamServer) Send(m *EmptyProto) error { + return x.ServerStream.SendMsg(m) +} + +var _FlowCombination_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.FlowCombination", + HandlerType: (*FlowCombinationServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RpcEmptyRpc", + Handler: _FlowCombination_RpcEmptyRpc_Handler, + }, + { + MethodName: "RpcBodyRpc", + Handler: _FlowCombination_RpcBodyRpc_Handler, + }, + { + MethodName: "RpcPathSingleNestedRpc", + Handler: _FlowCombination_RpcPathSingleNestedRpc_Handler, + }, + { + MethodName: "RpcPathNestedRpc", + Handler: _FlowCombination_RpcPathNestedRpc_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "RpcEmptyStream", + Handler: _FlowCombination_RpcEmptyStream_Handler, + ServerStreams: true, + }, + { + StreamName: "StreamEmptyRpc", + Handler: _FlowCombination_StreamEmptyRpc_Handler, + ClientStreams: true, + }, + { + StreamName: "StreamEmptyStream", + Handler: _FlowCombination_StreamEmptyStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "RpcBodyStream", + Handler: _FlowCombination_RpcBodyStream_Handler, + ServerStreams: true, + }, + { + StreamName: "RpcPathSingleNestedStream", + Handler: _FlowCombination_RpcPathSingleNestedStream_Handler, + ServerStreams: true, + }, + { + StreamName: "RpcPathNestedStream", + Handler: _FlowCombination_RpcPathNestedStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "examples/internal/proto/examplepb/flow_combination.proto", +} diff --git a/examples/internal/proto/examplepb/non_standard_names.pb.go b/examples/internal/proto/examplepb/non_standard_names.pb.go index 0c1eb0be8e6..dc0dc167576 100644 --- a/examples/internal/proto/examplepb/non_standard_names.pb.go +++ b/examples/internal/proto/examplepb/non_standard_names.pb.go @@ -7,13 +7,9 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" field_mask "google.golang.org/genproto/protobuf/field_mask" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -837,123 +833,3 @@ func file_examples_internal_proto_examplepb_non_standard_names_proto_init() { file_examples_internal_proto_examplepb_non_standard_names_proto_goTypes = nil file_examples_internal_proto_examplepb_non_standard_names_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// NonStandardServiceClient is the client API for NonStandardService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type NonStandardServiceClient interface { - // Apply field mask to empty NonStandardMessage and return result. - Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) - // Apply field mask to empty NonStandardMessageWithJSONNames and return result. - UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) -} - -type nonStandardServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewNonStandardServiceClient(cc grpc.ClientConnInterface) NonStandardServiceClient { - return &nonStandardServiceClient{cc} -} - -func (c *nonStandardServiceClient) Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) { - out := new(NonStandardMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/Update", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *nonStandardServiceClient) UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) { - out := new(NonStandardMessageWithJSONNames) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/UpdateWithJSONNames", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// NonStandardServiceServer is the server API for NonStandardService service. -type NonStandardServiceServer interface { - // Apply field mask to empty NonStandardMessage and return result. - Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) - // Apply field mask to empty NonStandardMessageWithJSONNames and return result. - UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) -} - -// UnimplementedNonStandardServiceServer can be embedded to have forward compatible implementations. -type UnimplementedNonStandardServiceServer struct { -} - -func (*UnimplementedNonStandardServiceServer) Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") -} -func (*UnimplementedNonStandardServiceServer) UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateWithJSONNames not implemented") -} - -func RegisterNonStandardServiceServer(s *grpc.Server, srv NonStandardServiceServer) { - s.RegisterService(&_NonStandardService_serviceDesc, srv) -} - -func _NonStandardService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NonStandardUpdateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NonStandardServiceServer).Update(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/Update", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NonStandardServiceServer).Update(ctx, req.(*NonStandardUpdateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _NonStandardService_UpdateWithJSONNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NonStandardWithJSONNamesUpdateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/UpdateWithJSONNames", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, req.(*NonStandardWithJSONNamesUpdateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _NonStandardService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.NonStandardService", - HandlerType: (*NonStandardServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Update", - Handler: _NonStandardService_Update_Handler, - }, - { - MethodName: "UpdateWithJSONNames", - Handler: _NonStandardService_UpdateWithJSONNames_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/non_standard_names.proto", -} diff --git a/examples/internal/proto/examplepb/non_standard_names_grpc.pb.go b/examples/internal/proto/examplepb/non_standard_names_grpc.pb.go new file mode 100644 index 00000000000..482fe1151df --- /dev/null +++ b/examples/internal/proto/examplepb/non_standard_names_grpc.pb.go @@ -0,0 +1,126 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// NonStandardServiceClient is the client API for NonStandardService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type NonStandardServiceClient interface { + // Apply field mask to empty NonStandardMessage and return result. + Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) + // Apply field mask to empty NonStandardMessageWithJSONNames and return result. + UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) +} + +type nonStandardServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNonStandardServiceClient(cc grpc.ClientConnInterface) NonStandardServiceClient { + return &nonStandardServiceClient{cc} +} + +func (c *nonStandardServiceClient) Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) { + out := new(NonStandardMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nonStandardServiceClient) UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) { + out := new(NonStandardMessageWithJSONNames) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/UpdateWithJSONNames", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NonStandardServiceServer is the server API for NonStandardService service. +type NonStandardServiceServer interface { + // Apply field mask to empty NonStandardMessage and return result. + Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) + // Apply field mask to empty NonStandardMessageWithJSONNames and return result. + UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) +} + +// UnimplementedNonStandardServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNonStandardServiceServer struct { +} + +func (*UnimplementedNonStandardServiceServer) Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (*UnimplementedNonStandardServiceServer) UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWithJSONNames not implemented") +} + +func RegisterNonStandardServiceServer(s *grpc.Server, srv NonStandardServiceServer) { + s.RegisterService(&_NonStandardService_serviceDesc, srv) +} + +func _NonStandardService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NonStandardUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NonStandardServiceServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/Update", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NonStandardServiceServer).Update(ctx, req.(*NonStandardUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NonStandardService_UpdateWithJSONNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NonStandardWithJSONNamesUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.NonStandardService/UpdateWithJSONNames", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, req.(*NonStandardWithJSONNamesUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NonStandardService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.NonStandardService", + HandlerType: (*NonStandardServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Update", + Handler: _NonStandardService_Update_Handler, + }, + { + MethodName: "UpdateWithJSONNames", + Handler: _NonStandardService_UpdateWithJSONNames_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/non_standard_names.proto", +} diff --git a/examples/internal/proto/examplepb/response_body_service.pb.go b/examples/internal/proto/examplepb/response_body_service.pb.go index 476e908bc31..61b250e8c22 100644 --- a/examples/internal/proto/examplepb/response_body_service.pb.go +++ b/examples/internal/proto/examplepb/response_body_service.pb.go @@ -7,12 +7,8 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -620,219 +616,3 @@ func file_examples_internal_proto_examplepb_response_body_service_proto_init() { file_examples_internal_proto_examplepb_response_body_service_proto_goTypes = nil file_examples_internal_proto_examplepb_response_body_service_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// ResponseBodyServiceClient is the client API for ResponseBodyService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ResponseBodyServiceClient interface { - GetResponseBody(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*ResponseBodyOut, error) - ListResponseBodies(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseBodyOut, error) - ListResponseStrings(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseStrings, error) - GetResponseBodyStream(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (ResponseBodyService_GetResponseBodyStreamClient, error) -} - -type responseBodyServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewResponseBodyServiceClient(cc grpc.ClientConnInterface) ResponseBodyServiceClient { - return &responseBodyServiceClient{cc} -} - -func (c *responseBodyServiceClient) GetResponseBody(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*ResponseBodyOut, error) { - out := new(ResponseBodyOut) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *responseBodyServiceClient) ListResponseBodies(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseBodyOut, error) { - out := new(RepeatedResponseBodyOut) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseBodies", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *responseBodyServiceClient) ListResponseStrings(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseStrings, error) { - out := new(RepeatedResponseStrings) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseStrings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *responseBodyServiceClient) GetResponseBodyStream(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (ResponseBodyService_GetResponseBodyStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_ResponseBodyService_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBodyStream", opts...) - if err != nil { - return nil, err - } - x := &responseBodyServiceGetResponseBodyStreamClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ResponseBodyService_GetResponseBodyStreamClient interface { - Recv() (*ResponseBodyOut, error) - grpc.ClientStream -} - -type responseBodyServiceGetResponseBodyStreamClient struct { - grpc.ClientStream -} - -func (x *responseBodyServiceGetResponseBodyStreamClient) Recv() (*ResponseBodyOut, error) { - m := new(ResponseBodyOut) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// ResponseBodyServiceServer is the server API for ResponseBodyService service. -type ResponseBodyServiceServer interface { - GetResponseBody(context.Context, *ResponseBodyIn) (*ResponseBodyOut, error) - ListResponseBodies(context.Context, *ResponseBodyIn) (*RepeatedResponseBodyOut, error) - ListResponseStrings(context.Context, *ResponseBodyIn) (*RepeatedResponseStrings, error) - GetResponseBodyStream(*ResponseBodyIn, ResponseBodyService_GetResponseBodyStreamServer) error -} - -// UnimplementedResponseBodyServiceServer can be embedded to have forward compatible implementations. -type UnimplementedResponseBodyServiceServer struct { -} - -func (*UnimplementedResponseBodyServiceServer) GetResponseBody(context.Context, *ResponseBodyIn) (*ResponseBodyOut, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetResponseBody not implemented") -} -func (*UnimplementedResponseBodyServiceServer) ListResponseBodies(context.Context, *ResponseBodyIn) (*RepeatedResponseBodyOut, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResponseBodies not implemented") -} -func (*UnimplementedResponseBodyServiceServer) ListResponseStrings(context.Context, *ResponseBodyIn) (*RepeatedResponseStrings, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResponseStrings not implemented") -} -func (*UnimplementedResponseBodyServiceServer) GetResponseBodyStream(*ResponseBodyIn, ResponseBodyService_GetResponseBodyStreamServer) error { - return status.Errorf(codes.Unimplemented, "method GetResponseBodyStream not implemented") -} - -func RegisterResponseBodyServiceServer(s *grpc.Server, srv ResponseBodyServiceServer) { - s.RegisterService(&_ResponseBodyService_serviceDesc, srv) -} - -func _ResponseBodyService_GetResponseBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResponseBodyIn) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResponseBodyServiceServer).GetResponseBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResponseBodyServiceServer).GetResponseBody(ctx, req.(*ResponseBodyIn)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResponseBodyService_ListResponseBodies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResponseBodyIn) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResponseBodyServiceServer).ListResponseBodies(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseBodies", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResponseBodyServiceServer).ListResponseBodies(ctx, req.(*ResponseBodyIn)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResponseBodyService_ListResponseStrings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResponseBodyIn) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResponseBodyServiceServer).ListResponseStrings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseStrings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResponseBodyServiceServer).ListResponseStrings(ctx, req.(*ResponseBodyIn)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResponseBodyService_GetResponseBodyStream_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ResponseBodyIn) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ResponseBodyServiceServer).GetResponseBodyStream(m, &responseBodyServiceGetResponseBodyStreamServer{stream}) -} - -type ResponseBodyService_GetResponseBodyStreamServer interface { - Send(*ResponseBodyOut) error - grpc.ServerStream -} - -type responseBodyServiceGetResponseBodyStreamServer struct { - grpc.ServerStream -} - -func (x *responseBodyServiceGetResponseBodyStreamServer) Send(m *ResponseBodyOut) error { - return x.ServerStream.SendMsg(m) -} - -var _ResponseBodyService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService", - HandlerType: (*ResponseBodyServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetResponseBody", - Handler: _ResponseBodyService_GetResponseBody_Handler, - }, - { - MethodName: "ListResponseBodies", - Handler: _ResponseBodyService_ListResponseBodies_Handler, - }, - { - MethodName: "ListResponseStrings", - Handler: _ResponseBodyService_ListResponseStrings_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "GetResponseBodyStream", - Handler: _ResponseBodyService_GetResponseBodyStream_Handler, - ServerStreams: true, - }, - }, - Metadata: "examples/internal/proto/examplepb/response_body_service.proto", -} diff --git a/examples/internal/proto/examplepb/response_body_service_grpc.pb.go b/examples/internal/proto/examplepb/response_body_service_grpc.pb.go new file mode 100644 index 00000000000..45b8357fd67 --- /dev/null +++ b/examples/internal/proto/examplepb/response_body_service_grpc.pb.go @@ -0,0 +1,222 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ResponseBodyServiceClient is the client API for ResponseBodyService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ResponseBodyServiceClient interface { + GetResponseBody(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*ResponseBodyOut, error) + ListResponseBodies(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseBodyOut, error) + ListResponseStrings(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseStrings, error) + GetResponseBodyStream(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (ResponseBodyService_GetResponseBodyStreamClient, error) +} + +type responseBodyServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewResponseBodyServiceClient(cc grpc.ClientConnInterface) ResponseBodyServiceClient { + return &responseBodyServiceClient{cc} +} + +func (c *responseBodyServiceClient) GetResponseBody(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*ResponseBodyOut, error) { + out := new(ResponseBodyOut) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *responseBodyServiceClient) ListResponseBodies(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseBodyOut, error) { + out := new(RepeatedResponseBodyOut) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseBodies", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *responseBodyServiceClient) ListResponseStrings(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (*RepeatedResponseStrings, error) { + out := new(RepeatedResponseStrings) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseStrings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *responseBodyServiceClient) GetResponseBodyStream(ctx context.Context, in *ResponseBodyIn, opts ...grpc.CallOption) (ResponseBodyService_GetResponseBodyStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_ResponseBodyService_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBodyStream", opts...) + if err != nil { + return nil, err + } + x := &responseBodyServiceGetResponseBodyStreamClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ResponseBodyService_GetResponseBodyStreamClient interface { + Recv() (*ResponseBodyOut, error) + grpc.ClientStream +} + +type responseBodyServiceGetResponseBodyStreamClient struct { + grpc.ClientStream +} + +func (x *responseBodyServiceGetResponseBodyStreamClient) Recv() (*ResponseBodyOut, error) { + m := new(ResponseBodyOut) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// ResponseBodyServiceServer is the server API for ResponseBodyService service. +type ResponseBodyServiceServer interface { + GetResponseBody(context.Context, *ResponseBodyIn) (*ResponseBodyOut, error) + ListResponseBodies(context.Context, *ResponseBodyIn) (*RepeatedResponseBodyOut, error) + ListResponseStrings(context.Context, *ResponseBodyIn) (*RepeatedResponseStrings, error) + GetResponseBodyStream(*ResponseBodyIn, ResponseBodyService_GetResponseBodyStreamServer) error +} + +// UnimplementedResponseBodyServiceServer can be embedded to have forward compatible implementations. +type UnimplementedResponseBodyServiceServer struct { +} + +func (*UnimplementedResponseBodyServiceServer) GetResponseBody(context.Context, *ResponseBodyIn) (*ResponseBodyOut, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetResponseBody not implemented") +} +func (*UnimplementedResponseBodyServiceServer) ListResponseBodies(context.Context, *ResponseBodyIn) (*RepeatedResponseBodyOut, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListResponseBodies not implemented") +} +func (*UnimplementedResponseBodyServiceServer) ListResponseStrings(context.Context, *ResponseBodyIn) (*RepeatedResponseStrings, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListResponseStrings not implemented") +} +func (*UnimplementedResponseBodyServiceServer) GetResponseBodyStream(*ResponseBodyIn, ResponseBodyService_GetResponseBodyStreamServer) error { + return status.Errorf(codes.Unimplemented, "method GetResponseBodyStream not implemented") +} + +func RegisterResponseBodyServiceServer(s *grpc.Server, srv ResponseBodyServiceServer) { + s.RegisterService(&_ResponseBodyService_serviceDesc, srv) +} + +func _ResponseBodyService_GetResponseBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResponseBodyIn) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResponseBodyServiceServer).GetResponseBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/GetResponseBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResponseBodyServiceServer).GetResponseBody(ctx, req.(*ResponseBodyIn)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResponseBodyService_ListResponseBodies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResponseBodyIn) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResponseBodyServiceServer).ListResponseBodies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseBodies", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResponseBodyServiceServer).ListResponseBodies(ctx, req.(*ResponseBodyIn)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResponseBodyService_ListResponseStrings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResponseBodyIn) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ResponseBodyServiceServer).ListResponseStrings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService/ListResponseStrings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ResponseBodyServiceServer).ListResponseStrings(ctx, req.(*ResponseBodyIn)) + } + return interceptor(ctx, in, info, handler) +} + +func _ResponseBodyService_GetResponseBodyStream_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ResponseBodyIn) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ResponseBodyServiceServer).GetResponseBodyStream(m, &responseBodyServiceGetResponseBodyStreamServer{stream}) +} + +type ResponseBodyService_GetResponseBodyStreamServer interface { + Send(*ResponseBodyOut) error + grpc.ServerStream +} + +type responseBodyServiceGetResponseBodyStreamServer struct { + grpc.ServerStream +} + +func (x *responseBodyServiceGetResponseBodyStreamServer) Send(m *ResponseBodyOut) error { + return x.ServerStream.SendMsg(m) +} + +var _ResponseBodyService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.ResponseBodyService", + HandlerType: (*ResponseBodyServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetResponseBody", + Handler: _ResponseBodyService_GetResponseBody_Handler, + }, + { + MethodName: "ListResponseBodies", + Handler: _ResponseBodyService_ListResponseBodies_Handler, + }, + { + MethodName: "ListResponseStrings", + Handler: _ResponseBodyService_ListResponseStrings_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "GetResponseBodyStream", + Handler: _ResponseBodyService_GetResponseBodyStream_Handler, + ServerStreams: true, + }, + }, + Metadata: "examples/internal/proto/examplepb/response_body_service.proto", +} diff --git a/examples/internal/proto/examplepb/stream.pb.go b/examples/internal/proto/examplepb/stream.pb.go index 4fbe5a5f43a..bbcfb30d703 100644 --- a/examples/internal/proto/examplepb/stream.pb.go +++ b/examples/internal/proto/examplepb/stream.pb.go @@ -7,15 +7,11 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" empty "github.com/golang/protobuf/ptypes/empty" sub "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub" _ "google.golang.org/genproto/googleapis/api/annotations" httpbody "google.golang.org/genproto/googleapis/api/httpbody" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -143,311 +139,3 @@ func file_examples_internal_proto_examplepb_stream_proto_init() { file_examples_internal_proto_examplepb_stream_proto_goTypes = nil file_examples_internal_proto_examplepb_stream_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// StreamServiceClient is the client API for StreamService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type StreamServiceClient interface { - BulkCreate(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkCreateClient, error) - List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_ListClient, error) - BulkEcho(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkEchoClient, error) - Download(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_DownloadClient, error) -} - -type streamServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewStreamServiceClient(cc grpc.ClientConnInterface) StreamServiceClient { - return &streamServiceClient{cc} -} - -func (c *streamServiceClient) BulkCreate(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkCreateClient, error) { - stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkCreate", opts...) - if err != nil { - return nil, err - } - x := &streamServiceBulkCreateClient{stream} - return x, nil -} - -type StreamService_BulkCreateClient interface { - Send(*ABitOfEverything) error - CloseAndRecv() (*empty.Empty, error) - grpc.ClientStream -} - -type streamServiceBulkCreateClient struct { - grpc.ClientStream -} - -func (x *streamServiceBulkCreateClient) Send(m *ABitOfEverything) error { - return x.ClientStream.SendMsg(m) -} - -func (x *streamServiceBulkCreateClient) CloseAndRecv() (*empty.Empty, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(empty.Empty) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *streamServiceClient) List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_ListClient, error) { - stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[1], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/List", opts...) - if err != nil { - return nil, err - } - x := &streamServiceListClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type StreamService_ListClient interface { - Recv() (*ABitOfEverything, error) - grpc.ClientStream -} - -type streamServiceListClient struct { - grpc.ClientStream -} - -func (x *streamServiceListClient) Recv() (*ABitOfEverything, error) { - m := new(ABitOfEverything) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *streamServiceClient) BulkEcho(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkEchoClient, error) { - stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[2], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkEcho", opts...) - if err != nil { - return nil, err - } - x := &streamServiceBulkEchoClient{stream} - return x, nil -} - -type StreamService_BulkEchoClient interface { - Send(*sub.StringMessage) error - Recv() (*sub.StringMessage, error) - grpc.ClientStream -} - -type streamServiceBulkEchoClient struct { - grpc.ClientStream -} - -func (x *streamServiceBulkEchoClient) Send(m *sub.StringMessage) error { - return x.ClientStream.SendMsg(m) -} - -func (x *streamServiceBulkEchoClient) Recv() (*sub.StringMessage, error) { - m := new(sub.StringMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *streamServiceClient) Download(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_DownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[3], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/Download", opts...) - if err != nil { - return nil, err - } - x := &streamServiceDownloadClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type StreamService_DownloadClient interface { - Recv() (*httpbody.HttpBody, error) - grpc.ClientStream -} - -type streamServiceDownloadClient struct { - grpc.ClientStream -} - -func (x *streamServiceDownloadClient) Recv() (*httpbody.HttpBody, error) { - m := new(httpbody.HttpBody) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// StreamServiceServer is the server API for StreamService service. -type StreamServiceServer interface { - BulkCreate(StreamService_BulkCreateServer) error - List(*empty.Empty, StreamService_ListServer) error - BulkEcho(StreamService_BulkEchoServer) error - Download(*empty.Empty, StreamService_DownloadServer) error -} - -// UnimplementedStreamServiceServer can be embedded to have forward compatible implementations. -type UnimplementedStreamServiceServer struct { -} - -func (*UnimplementedStreamServiceServer) BulkCreate(StreamService_BulkCreateServer) error { - return status.Errorf(codes.Unimplemented, "method BulkCreate not implemented") -} -func (*UnimplementedStreamServiceServer) List(*empty.Empty, StreamService_ListServer) error { - return status.Errorf(codes.Unimplemented, "method List not implemented") -} -func (*UnimplementedStreamServiceServer) BulkEcho(StreamService_BulkEchoServer) error { - return status.Errorf(codes.Unimplemented, "method BulkEcho not implemented") -} -func (*UnimplementedStreamServiceServer) Download(*empty.Empty, StreamService_DownloadServer) error { - return status.Errorf(codes.Unimplemented, "method Download not implemented") -} - -func RegisterStreamServiceServer(s *grpc.Server, srv StreamServiceServer) { - s.RegisterService(&_StreamService_serviceDesc, srv) -} - -func _StreamService_BulkCreate_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(StreamServiceServer).BulkCreate(&streamServiceBulkCreateServer{stream}) -} - -type StreamService_BulkCreateServer interface { - SendAndClose(*empty.Empty) error - Recv() (*ABitOfEverything, error) - grpc.ServerStream -} - -type streamServiceBulkCreateServer struct { - grpc.ServerStream -} - -func (x *streamServiceBulkCreateServer) SendAndClose(m *empty.Empty) error { - return x.ServerStream.SendMsg(m) -} - -func (x *streamServiceBulkCreateServer) Recv() (*ABitOfEverything, error) { - m := new(ABitOfEverything) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _StreamService_List_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(empty.Empty) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(StreamServiceServer).List(m, &streamServiceListServer{stream}) -} - -type StreamService_ListServer interface { - Send(*ABitOfEverything) error - grpc.ServerStream -} - -type streamServiceListServer struct { - grpc.ServerStream -} - -func (x *streamServiceListServer) Send(m *ABitOfEverything) error { - return x.ServerStream.SendMsg(m) -} - -func _StreamService_BulkEcho_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(StreamServiceServer).BulkEcho(&streamServiceBulkEchoServer{stream}) -} - -type StreamService_BulkEchoServer interface { - Send(*sub.StringMessage) error - Recv() (*sub.StringMessage, error) - grpc.ServerStream -} - -type streamServiceBulkEchoServer struct { - grpc.ServerStream -} - -func (x *streamServiceBulkEchoServer) Send(m *sub.StringMessage) error { - return x.ServerStream.SendMsg(m) -} - -func (x *streamServiceBulkEchoServer) Recv() (*sub.StringMessage, error) { - m := new(sub.StringMessage) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _StreamService_Download_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(empty.Empty) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(StreamServiceServer).Download(m, &streamServiceDownloadServer{stream}) -} - -type StreamService_DownloadServer interface { - Send(*httpbody.HttpBody) error - grpc.ServerStream -} - -type streamServiceDownloadServer struct { - grpc.ServerStream -} - -func (x *streamServiceDownloadServer) Send(m *httpbody.HttpBody) error { - return x.ServerStream.SendMsg(m) -} - -var _StreamService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.StreamService", - HandlerType: (*StreamServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{ - { - StreamName: "BulkCreate", - Handler: _StreamService_BulkCreate_Handler, - ClientStreams: true, - }, - { - StreamName: "List", - Handler: _StreamService_List_Handler, - ServerStreams: true, - }, - { - StreamName: "BulkEcho", - Handler: _StreamService_BulkEcho_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "Download", - Handler: _StreamService_Download_Handler, - ServerStreams: true, - }, - }, - Metadata: "examples/internal/proto/examplepb/stream.proto", -} diff --git a/examples/internal/proto/examplepb/stream_grpc.pb.go b/examples/internal/proto/examplepb/stream_grpc.pb.go new file mode 100644 index 00000000000..816107fe4e2 --- /dev/null +++ b/examples/internal/proto/examplepb/stream_grpc.pb.go @@ -0,0 +1,317 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + sub "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// StreamServiceClient is the client API for StreamService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type StreamServiceClient interface { + BulkCreate(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkCreateClient, error) + List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_ListClient, error) + BulkEcho(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkEchoClient, error) + Download(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_DownloadClient, error) +} + +type streamServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewStreamServiceClient(cc grpc.ClientConnInterface) StreamServiceClient { + return &streamServiceClient{cc} +} + +func (c *streamServiceClient) BulkCreate(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkCreateClient, error) { + stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[0], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkCreate", opts...) + if err != nil { + return nil, err + } + x := &streamServiceBulkCreateClient{stream} + return x, nil +} + +type StreamService_BulkCreateClient interface { + Send(*ABitOfEverything) error + CloseAndRecv() (*empty.Empty, error) + grpc.ClientStream +} + +type streamServiceBulkCreateClient struct { + grpc.ClientStream +} + +func (x *streamServiceBulkCreateClient) Send(m *ABitOfEverything) error { + return x.ClientStream.SendMsg(m) +} + +func (x *streamServiceBulkCreateClient) CloseAndRecv() (*empty.Empty, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(empty.Empty) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *streamServiceClient) List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_ListClient, error) { + stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[1], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/List", opts...) + if err != nil { + return nil, err + } + x := &streamServiceListClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type StreamService_ListClient interface { + Recv() (*ABitOfEverything, error) + grpc.ClientStream +} + +type streamServiceListClient struct { + grpc.ClientStream +} + +func (x *streamServiceListClient) Recv() (*ABitOfEverything, error) { + m := new(ABitOfEverything) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *streamServiceClient) BulkEcho(ctx context.Context, opts ...grpc.CallOption) (StreamService_BulkEchoClient, error) { + stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[2], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkEcho", opts...) + if err != nil { + return nil, err + } + x := &streamServiceBulkEchoClient{stream} + return x, nil +} + +type StreamService_BulkEchoClient interface { + Send(*sub.StringMessage) error + Recv() (*sub.StringMessage, error) + grpc.ClientStream +} + +type streamServiceBulkEchoClient struct { + grpc.ClientStream +} + +func (x *streamServiceBulkEchoClient) Send(m *sub.StringMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *streamServiceBulkEchoClient) Recv() (*sub.StringMessage, error) { + m := new(sub.StringMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *streamServiceClient) Download(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (StreamService_DownloadClient, error) { + stream, err := c.cc.NewStream(ctx, &_StreamService_serviceDesc.Streams[3], "/grpc.gateway.examples.internal.proto.examplepb.StreamService/Download", opts...) + if err != nil { + return nil, err + } + x := &streamServiceDownloadClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type StreamService_DownloadClient interface { + Recv() (*httpbody.HttpBody, error) + grpc.ClientStream +} + +type streamServiceDownloadClient struct { + grpc.ClientStream +} + +func (x *streamServiceDownloadClient) Recv() (*httpbody.HttpBody, error) { + m := new(httpbody.HttpBody) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// StreamServiceServer is the server API for StreamService service. +type StreamServiceServer interface { + BulkCreate(StreamService_BulkCreateServer) error + List(*empty.Empty, StreamService_ListServer) error + BulkEcho(StreamService_BulkEchoServer) error + Download(*empty.Empty, StreamService_DownloadServer) error +} + +// UnimplementedStreamServiceServer can be embedded to have forward compatible implementations. +type UnimplementedStreamServiceServer struct { +} + +func (*UnimplementedStreamServiceServer) BulkCreate(StreamService_BulkCreateServer) error { + return status.Errorf(codes.Unimplemented, "method BulkCreate not implemented") +} +func (*UnimplementedStreamServiceServer) List(*empty.Empty, StreamService_ListServer) error { + return status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (*UnimplementedStreamServiceServer) BulkEcho(StreamService_BulkEchoServer) error { + return status.Errorf(codes.Unimplemented, "method BulkEcho not implemented") +} +func (*UnimplementedStreamServiceServer) Download(*empty.Empty, StreamService_DownloadServer) error { + return status.Errorf(codes.Unimplemented, "method Download not implemented") +} + +func RegisterStreamServiceServer(s *grpc.Server, srv StreamServiceServer) { + s.RegisterService(&_StreamService_serviceDesc, srv) +} + +func _StreamService_BulkCreate_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(StreamServiceServer).BulkCreate(&streamServiceBulkCreateServer{stream}) +} + +type StreamService_BulkCreateServer interface { + SendAndClose(*empty.Empty) error + Recv() (*ABitOfEverything, error) + grpc.ServerStream +} + +type streamServiceBulkCreateServer struct { + grpc.ServerStream +} + +func (x *streamServiceBulkCreateServer) SendAndClose(m *empty.Empty) error { + return x.ServerStream.SendMsg(m) +} + +func (x *streamServiceBulkCreateServer) Recv() (*ABitOfEverything, error) { + m := new(ABitOfEverything) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _StreamService_List_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(empty.Empty) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(StreamServiceServer).List(m, &streamServiceListServer{stream}) +} + +type StreamService_ListServer interface { + Send(*ABitOfEverything) error + grpc.ServerStream +} + +type streamServiceListServer struct { + grpc.ServerStream +} + +func (x *streamServiceListServer) Send(m *ABitOfEverything) error { + return x.ServerStream.SendMsg(m) +} + +func _StreamService_BulkEcho_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(StreamServiceServer).BulkEcho(&streamServiceBulkEchoServer{stream}) +} + +type StreamService_BulkEchoServer interface { + Send(*sub.StringMessage) error + Recv() (*sub.StringMessage, error) + grpc.ServerStream +} + +type streamServiceBulkEchoServer struct { + grpc.ServerStream +} + +func (x *streamServiceBulkEchoServer) Send(m *sub.StringMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *streamServiceBulkEchoServer) Recv() (*sub.StringMessage, error) { + m := new(sub.StringMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _StreamService_Download_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(empty.Empty) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(StreamServiceServer).Download(m, &streamServiceDownloadServer{stream}) +} + +type StreamService_DownloadServer interface { + Send(*httpbody.HttpBody) error + grpc.ServerStream +} + +type streamServiceDownloadServer struct { + grpc.ServerStream +} + +func (x *streamServiceDownloadServer) Send(m *httpbody.HttpBody) error { + return x.ServerStream.SendMsg(m) +} + +var _StreamService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.StreamService", + HandlerType: (*StreamServiceServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "BulkCreate", + Handler: _StreamService_BulkCreate_Handler, + ClientStreams: true, + }, + { + StreamName: "List", + Handler: _StreamService_List_Handler, + ServerStreams: true, + }, + { + StreamName: "BulkEcho", + Handler: _StreamService_BulkEcho_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "Download", + Handler: _StreamService_Download_Handler, + ServerStreams: true, + }, + }, + Metadata: "examples/internal/proto/examplepb/stream.proto", +} diff --git a/examples/internal/proto/examplepb/unannotated_echo_service.pb.go b/examples/internal/proto/examplepb/unannotated_echo_service.pb.go index 3ebd929bc54..743cedf17c6 100644 --- a/examples/internal/proto/examplepb/unannotated_echo_service.pb.go +++ b/examples/internal/proto/examplepb/unannotated_echo_service.pb.go @@ -15,12 +15,8 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -450,167 +446,3 @@ func file_examples_internal_proto_examplepb_unannotated_echo_service_proto_init( file_examples_internal_proto_examplepb_unannotated_echo_service_proto_goTypes = nil file_examples_internal_proto_examplepb_unannotated_echo_service_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// UnannotatedEchoServiceClient is the client API for UnannotatedEchoService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type UnannotatedEchoServiceClient interface { - // Echo method receives a simple message and returns it. - // - // The message posted as the id parameter will also be - // returned. - Echo(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) - // EchoBody method receives a simple message and returns it. - EchoBody(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) - // EchoDelete method receives a simple message and returns it. - EchoDelete(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) -} - -type unannotatedEchoServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewUnannotatedEchoServiceClient(cc grpc.ClientConnInterface) UnannotatedEchoServiceClient { - return &unannotatedEchoServiceClient{cc} -} - -func (c *unannotatedEchoServiceClient) Echo(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { - out := new(UnannotatedSimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/Echo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *unannotatedEchoServiceClient) EchoBody(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { - out := new(UnannotatedSimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoBody", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *unannotatedEchoServiceClient) EchoDelete(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { - out := new(UnannotatedSimpleMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoDelete", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UnannotatedEchoServiceServer is the server API for UnannotatedEchoService service. -type UnannotatedEchoServiceServer interface { - // Echo method receives a simple message and returns it. - // - // The message posted as the id parameter will also be - // returned. - Echo(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) - // EchoBody method receives a simple message and returns it. - EchoBody(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) - // EchoDelete method receives a simple message and returns it. - EchoDelete(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) -} - -// UnimplementedUnannotatedEchoServiceServer can be embedded to have forward compatible implementations. -type UnimplementedUnannotatedEchoServiceServer struct { -} - -func (*UnimplementedUnannotatedEchoServiceServer) Echo(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") -} -func (*UnimplementedUnannotatedEchoServiceServer) EchoBody(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method EchoBody not implemented") -} -func (*UnimplementedUnannotatedEchoServiceServer) EchoDelete(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method EchoDelete not implemented") -} - -func RegisterUnannotatedEchoServiceServer(s *grpc.Server, srv UnannotatedEchoServiceServer) { - s.RegisterService(&_UnannotatedEchoService_serviceDesc, srv) -} - -func _UnannotatedEchoService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnannotatedSimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UnannotatedEchoServiceServer).Echo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/Echo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UnannotatedEchoServiceServer).Echo(ctx, req.(*UnannotatedSimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _UnannotatedEchoService_EchoBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnannotatedSimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UnannotatedEchoServiceServer).EchoBody(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoBody", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UnannotatedEchoServiceServer).EchoBody(ctx, req.(*UnannotatedSimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _UnannotatedEchoService_EchoDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnannotatedSimpleMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UnannotatedEchoServiceServer).EchoDelete(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoDelete", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UnannotatedEchoServiceServer).EchoDelete(ctx, req.(*UnannotatedSimpleMessage)) - } - return interceptor(ctx, in, info, handler) -} - -var _UnannotatedEchoService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService", - HandlerType: (*UnannotatedEchoServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Echo", - Handler: _UnannotatedEchoService_Echo_Handler, - }, - { - MethodName: "EchoBody", - Handler: _UnannotatedEchoService_EchoBody_Handler, - }, - { - MethodName: "EchoDelete", - Handler: _UnannotatedEchoService_EchoDelete_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/unannotated_echo_service.proto", -} diff --git a/examples/internal/proto/examplepb/unannotated_echo_service_grpc.pb.go b/examples/internal/proto/examplepb/unannotated_echo_service_grpc.pb.go new file mode 100644 index 00000000000..9ba80f1ff6f --- /dev/null +++ b/examples/internal/proto/examplepb/unannotated_echo_service_grpc.pb.go @@ -0,0 +1,170 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// UnannotatedEchoServiceClient is the client API for UnannotatedEchoService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type UnannotatedEchoServiceClient interface { + // Echo method receives a simple message and returns it. + // + // The message posted as the id parameter will also be + // returned. + Echo(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) + // EchoBody method receives a simple message and returns it. + EchoBody(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) + // EchoDelete method receives a simple message and returns it. + EchoDelete(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) +} + +type unannotatedEchoServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewUnannotatedEchoServiceClient(cc grpc.ClientConnInterface) UnannotatedEchoServiceClient { + return &unannotatedEchoServiceClient{cc} +} + +func (c *unannotatedEchoServiceClient) Echo(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { + out := new(UnannotatedSimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/Echo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *unannotatedEchoServiceClient) EchoBody(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { + out := new(UnannotatedSimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoBody", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *unannotatedEchoServiceClient) EchoDelete(ctx context.Context, in *UnannotatedSimpleMessage, opts ...grpc.CallOption) (*UnannotatedSimpleMessage, error) { + out := new(UnannotatedSimpleMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoDelete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UnannotatedEchoServiceServer is the server API for UnannotatedEchoService service. +type UnannotatedEchoServiceServer interface { + // Echo method receives a simple message and returns it. + // + // The message posted as the id parameter will also be + // returned. + Echo(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) + // EchoBody method receives a simple message and returns it. + EchoBody(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) + // EchoDelete method receives a simple message and returns it. + EchoDelete(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) +} + +// UnimplementedUnannotatedEchoServiceServer can be embedded to have forward compatible implementations. +type UnimplementedUnannotatedEchoServiceServer struct { +} + +func (*UnimplementedUnannotatedEchoServiceServer) Echo(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") +} +func (*UnimplementedUnannotatedEchoServiceServer) EchoBody(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method EchoBody not implemented") +} +func (*UnimplementedUnannotatedEchoServiceServer) EchoDelete(context.Context, *UnannotatedSimpleMessage) (*UnannotatedSimpleMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method EchoDelete not implemented") +} + +func RegisterUnannotatedEchoServiceServer(s *grpc.Server, srv UnannotatedEchoServiceServer) { + s.RegisterService(&_UnannotatedEchoService_serviceDesc, srv) +} + +func _UnannotatedEchoService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnannotatedSimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UnannotatedEchoServiceServer).Echo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/Echo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UnannotatedEchoServiceServer).Echo(ctx, req.(*UnannotatedSimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _UnannotatedEchoService_EchoBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnannotatedSimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UnannotatedEchoServiceServer).EchoBody(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoBody", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UnannotatedEchoServiceServer).EchoBody(ctx, req.(*UnannotatedSimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _UnannotatedEchoService_EchoDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnannotatedSimpleMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UnannotatedEchoServiceServer).EchoDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService/EchoDelete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UnannotatedEchoServiceServer).EchoDelete(ctx, req.(*UnannotatedSimpleMessage)) + } + return interceptor(ctx, in, info, handler) +} + +var _UnannotatedEchoService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.UnannotatedEchoService", + HandlerType: (*UnannotatedEchoServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Echo", + Handler: _UnannotatedEchoService_Echo_Handler, + }, + { + MethodName: "EchoBody", + Handler: _UnannotatedEchoService_EchoBody_Handler, + }, + { + MethodName: "EchoDelete", + Handler: _UnannotatedEchoService_EchoDelete_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/unannotated_echo_service.proto", +} diff --git a/examples/internal/proto/examplepb/use_go_template.pb.go b/examples/internal/proto/examplepb/use_go_template.pb.go index 805c7fafc39..e512b9176c9 100644 --- a/examples/internal/proto/examplepb/use_go_template.pb.go +++ b/examples/internal/proto/examplepb/use_go_template.pb.go @@ -7,12 +7,8 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -430,175 +426,3 @@ func file_examples_internal_proto_examplepb_use_go_template_proto_init() { file_examples_internal_proto_examplepb_use_go_template_proto_goTypes = nil file_examples_internal_proto_examplepb_use_go_template_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// LoginServiceClient is the client API for LoginService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type LoginServiceClient interface { - // Login - // - // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. - // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". - // - // ## {{.RequestType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - // - // ## {{.ResponseType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginReply, error) - // Logout - // - // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. - // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". - // - // ## {{.RequestType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - // - // ## {{.ResponseType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutReply, error) -} - -type loginServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewLoginServiceClient(cc grpc.ClientConnInterface) LoginServiceClient { - return &loginServiceClient{cc} -} - -func (c *loginServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginReply, error) { - out := new(LoginReply) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Login", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *loginServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutReply, error) { - out := new(LogoutReply) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Logout", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// LoginServiceServer is the server API for LoginService service. -type LoginServiceServer interface { - // Login - // - // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. - // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". - // - // ## {{.RequestType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - // - // ## {{.ResponseType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - Login(context.Context, *LoginRequest) (*LoginReply, error) - // Logout - // - // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. - // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". - // - // ## {{.RequestType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - // - // ## {{.ResponseType.Name}} - // | Field ID | Name | Type | Description | - // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} - // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} - Logout(context.Context, *LogoutRequest) (*LogoutReply, error) -} - -// UnimplementedLoginServiceServer can be embedded to have forward compatible implementations. -type UnimplementedLoginServiceServer struct { -} - -func (*UnimplementedLoginServiceServer) Login(context.Context, *LoginRequest) (*LoginReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") -} -func (*UnimplementedLoginServiceServer) Logout(context.Context, *LogoutRequest) (*LogoutReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") -} - -func RegisterLoginServiceServer(s *grpc.Server, srv LoginServiceServer) { - s.RegisterService(&_LoginService_serviceDesc, srv) -} - -func _LoginService_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LoginRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LoginServiceServer).Login(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Login", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LoginServiceServer).Login(ctx, req.(*LoginRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _LoginService_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LogoutRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LoginServiceServer).Logout(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Logout", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LoginServiceServer).Logout(ctx, req.(*LogoutRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _LoginService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.LoginService", - HandlerType: (*LoginServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Login", - Handler: _LoginService_Login_Handler, - }, - { - MethodName: "Logout", - Handler: _LoginService_Logout_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/use_go_template.proto", -} diff --git a/examples/internal/proto/examplepb/use_go_template_grpc.pb.go b/examples/internal/proto/examplepb/use_go_template_grpc.pb.go new file mode 100644 index 00000000000..a536410469d --- /dev/null +++ b/examples/internal/proto/examplepb/use_go_template_grpc.pb.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// LoginServiceClient is the client API for LoginService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type LoginServiceClient interface { + // Login + // + // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. + // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". + // + // ## {{.RequestType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + // + // ## {{.ResponseType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginReply, error) + // Logout + // + // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. + // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". + // + // ## {{.RequestType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + // + // ## {{.ResponseType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutReply, error) +} + +type loginServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewLoginServiceClient(cc grpc.ClientConnInterface) LoginServiceClient { + return &loginServiceClient{cc} +} + +func (c *loginServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginReply, error) { + out := new(LoginReply) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Login", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *loginServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutReply, error) { + out := new(LogoutReply) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Logout", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// LoginServiceServer is the server API for LoginService service. +type LoginServiceServer interface { + // Login + // + // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. + // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". + // + // ## {{.RequestType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + // + // ## {{.ResponseType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + Login(context.Context, *LoginRequest) (*LoginReply, error) + // Logout + // + // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service. + // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}". + // + // ## {{.RequestType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + // + // ## {{.ResponseType.Name}} + // | Field ID | Name | Type | Description | + // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}} + // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}} + Logout(context.Context, *LogoutRequest) (*LogoutReply, error) +} + +// UnimplementedLoginServiceServer can be embedded to have forward compatible implementations. +type UnimplementedLoginServiceServer struct { +} + +func (*UnimplementedLoginServiceServer) Login(context.Context, *LoginRequest) (*LoginReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") +} +func (*UnimplementedLoginServiceServer) Logout(context.Context, *LogoutRequest) (*LogoutReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") +} + +func RegisterLoginServiceServer(s *grpc.Server, srv LoginServiceServer) { + s.RegisterService(&_LoginService_serviceDesc, srv) +} + +func _LoginService_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LoginServiceServer).Login(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Login", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LoginServiceServer).Login(ctx, req.(*LoginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LoginService_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LogoutRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LoginServiceServer).Logout(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.LoginService/Logout", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LoginServiceServer).Logout(ctx, req.(*LogoutRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _LoginService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.LoginService", + HandlerType: (*LoginServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Login", + Handler: _LoginService_Login_Handler, + }, + { + MethodName: "Logout", + Handler: _LoginService_Logout_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/use_go_template.proto", +} diff --git a/examples/internal/proto/examplepb/wrappers.pb.go b/examples/internal/proto/examplepb/wrappers.pb.go index e85839b9860..17f54c7fc7c 100644 --- a/examples/internal/proto/examplepb/wrappers.pb.go +++ b/examples/internal/proto/examplepb/wrappers.pb.go @@ -7,14 +7,10 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" empty "github.com/golang/protobuf/ptypes/empty" wrappers "github.com/golang/protobuf/ptypes/wrappers" _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -381,443 +377,3 @@ func file_examples_internal_proto_examplepb_wrappers_proto_init() { file_examples_internal_proto_examplepb_wrappers_proto_goTypes = nil file_examples_internal_proto_examplepb_wrappers_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// WrappersServiceClient is the client API for WrappersService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type WrappersServiceClient interface { - Create(ctx context.Context, in *Wrappers, opts ...grpc.CallOption) (*Wrappers, error) - CreateStringValue(ctx context.Context, in *wrappers.StringValue, opts ...grpc.CallOption) (*wrappers.StringValue, error) - CreateInt32Value(ctx context.Context, in *wrappers.Int32Value, opts ...grpc.CallOption) (*wrappers.Int32Value, error) - CreateInt64Value(ctx context.Context, in *wrappers.Int64Value, opts ...grpc.CallOption) (*wrappers.Int64Value, error) - CreateFloatValue(ctx context.Context, in *wrappers.FloatValue, opts ...grpc.CallOption) (*wrappers.FloatValue, error) - CreateDoubleValue(ctx context.Context, in *wrappers.DoubleValue, opts ...grpc.CallOption) (*wrappers.DoubleValue, error) - CreateBoolValue(ctx context.Context, in *wrappers.BoolValue, opts ...grpc.CallOption) (*wrappers.BoolValue, error) - CreateUInt32Value(ctx context.Context, in *wrappers.UInt32Value, opts ...grpc.CallOption) (*wrappers.UInt32Value, error) - CreateUInt64Value(ctx context.Context, in *wrappers.UInt64Value, opts ...grpc.CallOption) (*wrappers.UInt64Value, error) - CreateBytesValue(ctx context.Context, in *wrappers.BytesValue, opts ...grpc.CallOption) (*wrappers.BytesValue, error) - CreateEmpty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) -} - -type wrappersServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewWrappersServiceClient(cc grpc.ClientConnInterface) WrappersServiceClient { - return &wrappersServiceClient{cc} -} - -func (c *wrappersServiceClient) Create(ctx context.Context, in *Wrappers, opts ...grpc.CallOption) (*Wrappers, error) { - out := new(Wrappers) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/Create", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateStringValue(ctx context.Context, in *wrappers.StringValue, opts ...grpc.CallOption) (*wrappers.StringValue, error) { - out := new(wrappers.StringValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateStringValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateInt32Value(ctx context.Context, in *wrappers.Int32Value, opts ...grpc.CallOption) (*wrappers.Int32Value, error) { - out := new(wrappers.Int32Value) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt32Value", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateInt64Value(ctx context.Context, in *wrappers.Int64Value, opts ...grpc.CallOption) (*wrappers.Int64Value, error) { - out := new(wrappers.Int64Value) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt64Value", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateFloatValue(ctx context.Context, in *wrappers.FloatValue, opts ...grpc.CallOption) (*wrappers.FloatValue, error) { - out := new(wrappers.FloatValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateFloatValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateDoubleValue(ctx context.Context, in *wrappers.DoubleValue, opts ...grpc.CallOption) (*wrappers.DoubleValue, error) { - out := new(wrappers.DoubleValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateDoubleValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateBoolValue(ctx context.Context, in *wrappers.BoolValue, opts ...grpc.CallOption) (*wrappers.BoolValue, error) { - out := new(wrappers.BoolValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBoolValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateUInt32Value(ctx context.Context, in *wrappers.UInt32Value, opts ...grpc.CallOption) (*wrappers.UInt32Value, error) { - out := new(wrappers.UInt32Value) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt32Value", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateUInt64Value(ctx context.Context, in *wrappers.UInt64Value, opts ...grpc.CallOption) (*wrappers.UInt64Value, error) { - out := new(wrappers.UInt64Value) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt64Value", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateBytesValue(ctx context.Context, in *wrappers.BytesValue, opts ...grpc.CallOption) (*wrappers.BytesValue, error) { - out := new(wrappers.BytesValue) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBytesValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *wrappersServiceClient) CreateEmpty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateEmpty", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// WrappersServiceServer is the server API for WrappersService service. -type WrappersServiceServer interface { - Create(context.Context, *Wrappers) (*Wrappers, error) - CreateStringValue(context.Context, *wrappers.StringValue) (*wrappers.StringValue, error) - CreateInt32Value(context.Context, *wrappers.Int32Value) (*wrappers.Int32Value, error) - CreateInt64Value(context.Context, *wrappers.Int64Value) (*wrappers.Int64Value, error) - CreateFloatValue(context.Context, *wrappers.FloatValue) (*wrappers.FloatValue, error) - CreateDoubleValue(context.Context, *wrappers.DoubleValue) (*wrappers.DoubleValue, error) - CreateBoolValue(context.Context, *wrappers.BoolValue) (*wrappers.BoolValue, error) - CreateUInt32Value(context.Context, *wrappers.UInt32Value) (*wrappers.UInt32Value, error) - CreateUInt64Value(context.Context, *wrappers.UInt64Value) (*wrappers.UInt64Value, error) - CreateBytesValue(context.Context, *wrappers.BytesValue) (*wrappers.BytesValue, error) - CreateEmpty(context.Context, *empty.Empty) (*empty.Empty, error) -} - -// UnimplementedWrappersServiceServer can be embedded to have forward compatible implementations. -type UnimplementedWrappersServiceServer struct { -} - -func (*UnimplementedWrappersServiceServer) Create(context.Context, *Wrappers) (*Wrappers, error) { - return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateStringValue(context.Context, *wrappers.StringValue) (*wrappers.StringValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateStringValue not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateInt32Value(context.Context, *wrappers.Int32Value) (*wrappers.Int32Value, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateInt32Value not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateInt64Value(context.Context, *wrappers.Int64Value) (*wrappers.Int64Value, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateInt64Value not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateFloatValue(context.Context, *wrappers.FloatValue) (*wrappers.FloatValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateFloatValue not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateDoubleValue(context.Context, *wrappers.DoubleValue) (*wrappers.DoubleValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateDoubleValue not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateBoolValue(context.Context, *wrappers.BoolValue) (*wrappers.BoolValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateBoolValue not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateUInt32Value(context.Context, *wrappers.UInt32Value) (*wrappers.UInt32Value, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUInt32Value not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateUInt64Value(context.Context, *wrappers.UInt64Value) (*wrappers.UInt64Value, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUInt64Value not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateBytesValue(context.Context, *wrappers.BytesValue) (*wrappers.BytesValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateBytesValue not implemented") -} -func (*UnimplementedWrappersServiceServer) CreateEmpty(context.Context, *empty.Empty) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateEmpty not implemented") -} - -func RegisterWrappersServiceServer(s *grpc.Server, srv WrappersServiceServer) { - s.RegisterService(&_WrappersService_serviceDesc, srv) -} - -func _WrappersService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Wrappers) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).Create(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/Create", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).Create(ctx, req.(*Wrappers)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateStringValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.StringValue) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateStringValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateStringValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateStringValue(ctx, req.(*wrappers.StringValue)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateInt32Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.Int32Value) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateInt32Value(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt32Value", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateInt32Value(ctx, req.(*wrappers.Int32Value)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateInt64Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.Int64Value) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateInt64Value(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt64Value", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateInt64Value(ctx, req.(*wrappers.Int64Value)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateFloatValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.FloatValue) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateFloatValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateFloatValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateFloatValue(ctx, req.(*wrappers.FloatValue)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateDoubleValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.DoubleValue) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateDoubleValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateDoubleValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateDoubleValue(ctx, req.(*wrappers.DoubleValue)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateBoolValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.BoolValue) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateBoolValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBoolValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateBoolValue(ctx, req.(*wrappers.BoolValue)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateUInt32Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.UInt32Value) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateUInt32Value(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt32Value", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateUInt32Value(ctx, req.(*wrappers.UInt32Value)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateUInt64Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.UInt64Value) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateUInt64Value(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt64Value", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateUInt64Value(ctx, req.(*wrappers.UInt64Value)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateBytesValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(wrappers.BytesValue) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateBytesValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBytesValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateBytesValue(ctx, req.(*wrappers.BytesValue)) - } - return interceptor(ctx, in, info, handler) -} - -func _WrappersService_CreateEmpty_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WrappersServiceServer).CreateEmpty(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateEmpty", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WrappersServiceServer).CreateEmpty(ctx, req.(*empty.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -var _WrappersService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.examples.internal.proto.examplepb.WrappersService", - HandlerType: (*WrappersServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Create", - Handler: _WrappersService_Create_Handler, - }, - { - MethodName: "CreateStringValue", - Handler: _WrappersService_CreateStringValue_Handler, - }, - { - MethodName: "CreateInt32Value", - Handler: _WrappersService_CreateInt32Value_Handler, - }, - { - MethodName: "CreateInt64Value", - Handler: _WrappersService_CreateInt64Value_Handler, - }, - { - MethodName: "CreateFloatValue", - Handler: _WrappersService_CreateFloatValue_Handler, - }, - { - MethodName: "CreateDoubleValue", - Handler: _WrappersService_CreateDoubleValue_Handler, - }, - { - MethodName: "CreateBoolValue", - Handler: _WrappersService_CreateBoolValue_Handler, - }, - { - MethodName: "CreateUInt32Value", - Handler: _WrappersService_CreateUInt32Value_Handler, - }, - { - MethodName: "CreateUInt64Value", - Handler: _WrappersService_CreateUInt64Value_Handler, - }, - { - MethodName: "CreateBytesValue", - Handler: _WrappersService_CreateBytesValue_Handler, - }, - { - MethodName: "CreateEmpty", - Handler: _WrappersService_CreateEmpty_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "examples/internal/proto/examplepb/wrappers.proto", -} diff --git a/examples/internal/proto/examplepb/wrappers_grpc.pb.go b/examples/internal/proto/examplepb/wrappers_grpc.pb.go new file mode 100644 index 00000000000..044c92a8fc8 --- /dev/null +++ b/examples/internal/proto/examplepb/wrappers_grpc.pb.go @@ -0,0 +1,448 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// WrappersServiceClient is the client API for WrappersService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type WrappersServiceClient interface { + Create(ctx context.Context, in *Wrappers, opts ...grpc.CallOption) (*Wrappers, error) + CreateStringValue(ctx context.Context, in *wrappers.StringValue, opts ...grpc.CallOption) (*wrappers.StringValue, error) + CreateInt32Value(ctx context.Context, in *wrappers.Int32Value, opts ...grpc.CallOption) (*wrappers.Int32Value, error) + CreateInt64Value(ctx context.Context, in *wrappers.Int64Value, opts ...grpc.CallOption) (*wrappers.Int64Value, error) + CreateFloatValue(ctx context.Context, in *wrappers.FloatValue, opts ...grpc.CallOption) (*wrappers.FloatValue, error) + CreateDoubleValue(ctx context.Context, in *wrappers.DoubleValue, opts ...grpc.CallOption) (*wrappers.DoubleValue, error) + CreateBoolValue(ctx context.Context, in *wrappers.BoolValue, opts ...grpc.CallOption) (*wrappers.BoolValue, error) + CreateUInt32Value(ctx context.Context, in *wrappers.UInt32Value, opts ...grpc.CallOption) (*wrappers.UInt32Value, error) + CreateUInt64Value(ctx context.Context, in *wrappers.UInt64Value, opts ...grpc.CallOption) (*wrappers.UInt64Value, error) + CreateBytesValue(ctx context.Context, in *wrappers.BytesValue, opts ...grpc.CallOption) (*wrappers.BytesValue, error) + CreateEmpty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type wrappersServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewWrappersServiceClient(cc grpc.ClientConnInterface) WrappersServiceClient { + return &wrappersServiceClient{cc} +} + +func (c *wrappersServiceClient) Create(ctx context.Context, in *Wrappers, opts ...grpc.CallOption) (*Wrappers, error) { + out := new(Wrappers) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/Create", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateStringValue(ctx context.Context, in *wrappers.StringValue, opts ...grpc.CallOption) (*wrappers.StringValue, error) { + out := new(wrappers.StringValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateStringValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateInt32Value(ctx context.Context, in *wrappers.Int32Value, opts ...grpc.CallOption) (*wrappers.Int32Value, error) { + out := new(wrappers.Int32Value) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt32Value", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateInt64Value(ctx context.Context, in *wrappers.Int64Value, opts ...grpc.CallOption) (*wrappers.Int64Value, error) { + out := new(wrappers.Int64Value) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt64Value", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateFloatValue(ctx context.Context, in *wrappers.FloatValue, opts ...grpc.CallOption) (*wrappers.FloatValue, error) { + out := new(wrappers.FloatValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateFloatValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateDoubleValue(ctx context.Context, in *wrappers.DoubleValue, opts ...grpc.CallOption) (*wrappers.DoubleValue, error) { + out := new(wrappers.DoubleValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateDoubleValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateBoolValue(ctx context.Context, in *wrappers.BoolValue, opts ...grpc.CallOption) (*wrappers.BoolValue, error) { + out := new(wrappers.BoolValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBoolValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateUInt32Value(ctx context.Context, in *wrappers.UInt32Value, opts ...grpc.CallOption) (*wrappers.UInt32Value, error) { + out := new(wrappers.UInt32Value) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt32Value", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateUInt64Value(ctx context.Context, in *wrappers.UInt64Value, opts ...grpc.CallOption) (*wrappers.UInt64Value, error) { + out := new(wrappers.UInt64Value) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt64Value", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateBytesValue(ctx context.Context, in *wrappers.BytesValue, opts ...grpc.CallOption) (*wrappers.BytesValue, error) { + out := new(wrappers.BytesValue) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBytesValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wrappersServiceClient) CreateEmpty(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateEmpty", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WrappersServiceServer is the server API for WrappersService service. +type WrappersServiceServer interface { + Create(context.Context, *Wrappers) (*Wrappers, error) + CreateStringValue(context.Context, *wrappers.StringValue) (*wrappers.StringValue, error) + CreateInt32Value(context.Context, *wrappers.Int32Value) (*wrappers.Int32Value, error) + CreateInt64Value(context.Context, *wrappers.Int64Value) (*wrappers.Int64Value, error) + CreateFloatValue(context.Context, *wrappers.FloatValue) (*wrappers.FloatValue, error) + CreateDoubleValue(context.Context, *wrappers.DoubleValue) (*wrappers.DoubleValue, error) + CreateBoolValue(context.Context, *wrappers.BoolValue) (*wrappers.BoolValue, error) + CreateUInt32Value(context.Context, *wrappers.UInt32Value) (*wrappers.UInt32Value, error) + CreateUInt64Value(context.Context, *wrappers.UInt64Value) (*wrappers.UInt64Value, error) + CreateBytesValue(context.Context, *wrappers.BytesValue) (*wrappers.BytesValue, error) + CreateEmpty(context.Context, *empty.Empty) (*empty.Empty, error) +} + +// UnimplementedWrappersServiceServer can be embedded to have forward compatible implementations. +type UnimplementedWrappersServiceServer struct { +} + +func (*UnimplementedWrappersServiceServer) Create(context.Context, *Wrappers) (*Wrappers, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateStringValue(context.Context, *wrappers.StringValue) (*wrappers.StringValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateStringValue not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateInt32Value(context.Context, *wrappers.Int32Value) (*wrappers.Int32Value, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateInt32Value not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateInt64Value(context.Context, *wrappers.Int64Value) (*wrappers.Int64Value, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateInt64Value not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateFloatValue(context.Context, *wrappers.FloatValue) (*wrappers.FloatValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFloatValue not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateDoubleValue(context.Context, *wrappers.DoubleValue) (*wrappers.DoubleValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDoubleValue not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateBoolValue(context.Context, *wrappers.BoolValue) (*wrappers.BoolValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBoolValue not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateUInt32Value(context.Context, *wrappers.UInt32Value) (*wrappers.UInt32Value, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUInt32Value not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateUInt64Value(context.Context, *wrappers.UInt64Value) (*wrappers.UInt64Value, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUInt64Value not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateBytesValue(context.Context, *wrappers.BytesValue) (*wrappers.BytesValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBytesValue not implemented") +} +func (*UnimplementedWrappersServiceServer) CreateEmpty(context.Context, *empty.Empty) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEmpty not implemented") +} + +func RegisterWrappersServiceServer(s *grpc.Server, srv WrappersServiceServer) { + s.RegisterService(&_WrappersService_serviceDesc, srv) +} + +func _WrappersService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Wrappers) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/Create", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).Create(ctx, req.(*Wrappers)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateStringValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.StringValue) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateStringValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateStringValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateStringValue(ctx, req.(*wrappers.StringValue)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateInt32Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.Int32Value) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateInt32Value(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt32Value", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateInt32Value(ctx, req.(*wrappers.Int32Value)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateInt64Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.Int64Value) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateInt64Value(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateInt64Value", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateInt64Value(ctx, req.(*wrappers.Int64Value)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateFloatValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.FloatValue) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateFloatValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateFloatValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateFloatValue(ctx, req.(*wrappers.FloatValue)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateDoubleValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.DoubleValue) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateDoubleValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateDoubleValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateDoubleValue(ctx, req.(*wrappers.DoubleValue)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateBoolValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.BoolValue) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateBoolValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBoolValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateBoolValue(ctx, req.(*wrappers.BoolValue)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateUInt32Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.UInt32Value) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateUInt32Value(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt32Value", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateUInt32Value(ctx, req.(*wrappers.UInt32Value)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateUInt64Value_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.UInt64Value) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateUInt64Value(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateUInt64Value", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateUInt64Value(ctx, req.(*wrappers.UInt64Value)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateBytesValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(wrappers.BytesValue) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateBytesValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateBytesValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateBytesValue(ctx, req.(*wrappers.BytesValue)) + } + return interceptor(ctx, in, info, handler) +} + +func _WrappersService_CreateEmpty_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WrappersServiceServer).CreateEmpty(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.examples.internal.proto.examplepb.WrappersService/CreateEmpty", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WrappersServiceServer).CreateEmpty(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _WrappersService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.examples.internal.proto.examplepb.WrappersService", + HandlerType: (*WrappersServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Create", + Handler: _WrappersService_Create_Handler, + }, + { + MethodName: "CreateStringValue", + Handler: _WrappersService_CreateStringValue_Handler, + }, + { + MethodName: "CreateInt32Value", + Handler: _WrappersService_CreateInt32Value_Handler, + }, + { + MethodName: "CreateInt64Value", + Handler: _WrappersService_CreateInt64Value_Handler, + }, + { + MethodName: "CreateFloatValue", + Handler: _WrappersService_CreateFloatValue_Handler, + }, + { + MethodName: "CreateDoubleValue", + Handler: _WrappersService_CreateDoubleValue_Handler, + }, + { + MethodName: "CreateBoolValue", + Handler: _WrappersService_CreateBoolValue_Handler, + }, + { + MethodName: "CreateUInt32Value", + Handler: _WrappersService_CreateUInt32Value_Handler, + }, + { + MethodName: "CreateUInt64Value", + Handler: _WrappersService_CreateUInt64Value_Handler, + }, + { + MethodName: "CreateBytesValue", + Handler: _WrappersService_CreateBytesValue_Handler, + }, + { + MethodName: "CreateEmpty", + Handler: _WrappersService_CreateEmpty_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "examples/internal/proto/examplepb/wrappers.proto", +} diff --git a/examples/internal/proto/pathenum/BUILD.bazel b/examples/internal/proto/pathenum/BUILD.bazel index b578c90adf4..5f33fab0cf7 100644 --- a/examples/internal/proto/pathenum/BUILD.bazel +++ b/examples/internal/proto/pathenum/BUILD.bazel @@ -11,6 +11,7 @@ proto_library( go_proto_library( name = "pathenum_go_proto", + compilers = ["//:go_apiv2"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/pathenum", proto = ":pathenum_proto", ) diff --git a/examples/internal/proto/sub/BUILD.bazel b/examples/internal/proto/sub/BUILD.bazel index 364c6f20d55..6c74d3680fe 100644 --- a/examples/internal/proto/sub/BUILD.bazel +++ b/examples/internal/proto/sub/BUILD.bazel @@ -11,6 +11,7 @@ proto_library( go_proto_library( name = "sub_go_proto", + compilers = ["//:go_apiv2"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub", proto = ":sub_proto", ) diff --git a/examples/internal/proto/sub2/BUILD.bazel b/examples/internal/proto/sub2/BUILD.bazel index 6ccf9ccca5e..a970fa2dd90 100644 --- a/examples/internal/proto/sub2/BUILD.bazel +++ b/examples/internal/proto/sub2/BUILD.bazel @@ -11,6 +11,7 @@ proto_library( go_proto_library( name = "sub2_go_proto", + compilers = ["//:go_apiv2"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub2", proto = ":sub2_proto", ) diff --git a/examples/internal/server/a_bit_of_everything.go b/examples/internal/server/a_bit_of_everything.go index 449d6475a58..4da4861ce23 100644 --- a/examples/internal/server/a_bit_of_everything.go +++ b/examples/internal/server/a_bit_of_everything.go @@ -28,6 +28,8 @@ import ( var uuidgen = fastuuid.MustNewGenerator() type _ABitOfEverythingServer struct { + examples.UnimplementedABitOfEverythingServiceServer + examples.UnimplementedStreamServiceServer v map[string]*examples.ABitOfEverything m sync.Mutex } diff --git a/examples/internal/server/echo.go b/examples/internal/server/echo.go index e60b80eb049..f77ad84f30c 100644 --- a/examples/internal/server/echo.go +++ b/examples/internal/server/echo.go @@ -11,7 +11,9 @@ import ( // Implements of EchoServiceServer -type echoServer struct{} +type echoServer struct { + examples.UnimplementedEchoServiceServer +} func newEchoServer() examples.EchoServiceServer { return new(echoServer) diff --git a/examples/internal/server/flow_combination.go b/examples/internal/server/flow_combination.go index db10d72754d..8dd598ec4b8 100644 --- a/examples/internal/server/flow_combination.go +++ b/examples/internal/server/flow_combination.go @@ -7,7 +7,9 @@ import ( examples "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb" ) -type flowCombinationServer struct{} +type flowCombinationServer struct { + examples.UnimplementedFlowCombinationServer +} func newFlowCombinationServer() examples.FlowCombinationServer { return &flowCombinationServer{} diff --git a/examples/internal/server/non_standard_names.go b/examples/internal/server/non_standard_names.go index 0305470c627..3cef98c7183 100644 --- a/examples/internal/server/non_standard_names.go +++ b/examples/internal/server/non_standard_names.go @@ -9,7 +9,9 @@ import ( // Implements NonStandardServiceServer -type nonStandardServer struct{} +type nonStandardServer struct { + examples.UnimplementedNonStandardServiceServer +} func newNonStandardServer() examples.NonStandardServiceServer { return new(nonStandardServer) diff --git a/examples/internal/server/responsebody.go b/examples/internal/server/responsebody.go index e44d06541ff..d3cac65396d 100644 --- a/examples/internal/server/responsebody.go +++ b/examples/internal/server/responsebody.go @@ -10,7 +10,9 @@ import ( // Implements of ResponseBodyServiceServer -type responseBodyServer struct{} +type responseBodyServer struct { + examples.UnimplementedResponseBodyServiceServer +} func newResponseBodyServer() examples.ResponseBodyServiceServer { return new(responseBodyServer) diff --git a/examples/internal/server/unannotatedecho.go b/examples/internal/server/unannotatedecho.go index 2342be1084a..96f71ab75cd 100644 --- a/examples/internal/server/unannotatedecho.go +++ b/examples/internal/server/unannotatedecho.go @@ -11,7 +11,9 @@ import ( // Implements of UnannotatedEchoServiceServer -type unannotatedEchoServer struct{} +type unannotatedEchoServer struct { + examples.UnimplementedUnannotatedEchoServiceServer +} func newUnannotatedEchoServer() examples.UnannotatedEchoServiceServer { return new(unannotatedEchoServer) diff --git a/go.mod b/go.mod index a9dacd2e445..2fea9459272 100644 --- a/go.mod +++ b/go.mod @@ -14,6 +14,7 @@ require ( golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24 // indirect google.golang.org/genproto v0.0.0-20200528191852-705c0b31589b google.golang.org/grpc v1.29.1 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200527211525-6c9e30c09db2 google.golang.org/protobuf v1.24.0 gopkg.in/yaml.v2 v2.2.3 // indirect ) diff --git a/go.sum b/go.sum index 0c40dbeeb24..db7fc2aa9d5 100644 --- a/go.sum +++ b/go.sum @@ -88,6 +88,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200527211525-6c9e30c09db2 h1:KNluVV5ay+orsSPJ6XTpwJQ8qBhrBkOTmtBFGeDlBcY= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200527211525-6c9e30c09db2/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/internal/descriptor/apiconfig/BUILD.bazel b/internal/descriptor/apiconfig/BUILD.bazel index 21443f762cd..80dc57a2e3c 100644 --- a/internal/descriptor/apiconfig/BUILD.bazel +++ b/internal/descriptor/apiconfig/BUILD.bazel @@ -16,6 +16,7 @@ proto_library( go_proto_library( name = "apiconfig_go_proto", + compilers = ["//:go_apiv2"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/internal/descriptor/apiconfig", proto = ":apiconfig_proto", deps = ["@go_googleapis//google/api:annotations_go_proto"], diff --git a/protoc-gen-openapiv2/options/BUILD.bazel b/protoc-gen-openapiv2/options/BUILD.bazel index a6c8a399d5d..caf0ec2ce15 100644 --- a/protoc-gen-openapiv2/options/BUILD.bazel +++ b/protoc-gen-openapiv2/options/BUILD.bazel @@ -33,6 +33,7 @@ proto_library( go_proto_library( name = "options_go_proto", + compilers = ["//:go_apiv2"], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options", proto = ":options_proto", ) diff --git a/repositories.bzl b/repositories.bzl index 62870174d11..4d65f04b337 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -196,3 +196,9 @@ def go_repositories(): sum = "h1:WBZRG4aNOuI15bLRrCgN8fCq8E5Xuty6jGbmSNEvSsU=", version = "v0.0.0-20191209042840-269d4d468f6f", ) + go_repository( + name = "org_golang_google_grpc_cmd_protoc_gen_go_grpc", + importpath = "google.golang.org/grpc/cmd/protoc-gen-go-grpc", + sum = "h1:KNluVV5ay+orsSPJ6XTpwJQ8qBhrBkOTmtBFGeDlBcY=", + version = "v0.0.0-20200527211525-6c9e30c09db2", + ) diff --git a/runtime/internal/examplepb/BUILD.bazel b/runtime/internal/examplepb/BUILD.bazel index 112932abc6f..4963164c700 100644 --- a/runtime/internal/examplepb/BUILD.bazel +++ b/runtime/internal/examplepb/BUILD.bazel @@ -2,6 +2,8 @@ load("@rules_proto//proto:defs.bzl", "proto_library") load("@io_bazel_rules_go//go:def.bzl", "go_library") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") +# gazelle:exclude non_standard_names_grpc.pb.go + package(default_visibility = ["//visibility:public"]) proto_library( @@ -24,7 +26,10 @@ proto_library( go_proto_library( name = "examplepb_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], + compilers = [ + "//:go_apiv2", + "//:go_grpc", + ], importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/runtime/internal/examplepb", proto = ":examplepb_proto", deps = ["@go_googleapis//google/api:annotations_go_proto"], diff --git a/runtime/internal/examplepb/non_standard_names.pb.go b/runtime/internal/examplepb/non_standard_names.pb.go index 2cf5b7fcbab..fea0b2ce70d 100644 --- a/runtime/internal/examplepb/non_standard_names.pb.go +++ b/runtime/internal/examplepb/non_standard_names.pb.go @@ -7,13 +7,9 @@ package examplepb import ( - context "context" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" field_mask "google.golang.org/genproto/protobuf/field_mask" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -832,123 +828,3 @@ func file_runtime_internal_examplepb_non_standard_names_proto_init() { file_runtime_internal_examplepb_non_standard_names_proto_goTypes = nil file_runtime_internal_examplepb_non_standard_names_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// NonStandardServiceClient is the client API for NonStandardService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type NonStandardServiceClient interface { - // Apply field mask to empty NonStandardMessage and return result. - Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) - // Apply field mask to empty NonStandardMessageWithJSONNames and return result. - UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) -} - -type nonStandardServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewNonStandardServiceClient(cc grpc.ClientConnInterface) NonStandardServiceClient { - return &nonStandardServiceClient{cc} -} - -func (c *nonStandardServiceClient) Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) { - out := new(NonStandardMessage) - err := c.cc.Invoke(ctx, "/grpc.gateway.runtime.internal.examplepb.NonStandardService/Update", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *nonStandardServiceClient) UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) { - out := new(NonStandardMessageWithJSONNames) - err := c.cc.Invoke(ctx, "/grpc.gateway.runtime.internal.examplepb.NonStandardService/UpdateWithJSONNames", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// NonStandardServiceServer is the server API for NonStandardService service. -type NonStandardServiceServer interface { - // Apply field mask to empty NonStandardMessage and return result. - Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) - // Apply field mask to empty NonStandardMessageWithJSONNames and return result. - UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) -} - -// UnimplementedNonStandardServiceServer can be embedded to have forward compatible implementations. -type UnimplementedNonStandardServiceServer struct { -} - -func (*UnimplementedNonStandardServiceServer) Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") -} -func (*UnimplementedNonStandardServiceServer) UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateWithJSONNames not implemented") -} - -func RegisterNonStandardServiceServer(s *grpc.Server, srv NonStandardServiceServer) { - s.RegisterService(&_NonStandardService_serviceDesc, srv) -} - -func _NonStandardService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NonStandardUpdateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NonStandardServiceServer).Update(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.runtime.internal.examplepb.NonStandardService/Update", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NonStandardServiceServer).Update(ctx, req.(*NonStandardUpdateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _NonStandardService_UpdateWithJSONNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NonStandardWithJSONNamesUpdateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpc.gateway.runtime.internal.examplepb.NonStandardService/UpdateWithJSONNames", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, req.(*NonStandardWithJSONNamesUpdateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _NonStandardService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "grpc.gateway.runtime.internal.examplepb.NonStandardService", - HandlerType: (*NonStandardServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Update", - Handler: _NonStandardService_Update_Handler, - }, - { - MethodName: "UpdateWithJSONNames", - Handler: _NonStandardService_UpdateWithJSONNames_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "runtime/internal/examplepb/non_standard_names.proto", -} diff --git a/runtime/internal/examplepb/non_standard_names_grpc.pb.go b/runtime/internal/examplepb/non_standard_names_grpc.pb.go new file mode 100644 index 00000000000..18ad6ef67e9 --- /dev/null +++ b/runtime/internal/examplepb/non_standard_names_grpc.pb.go @@ -0,0 +1,126 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package examplepb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// NonStandardServiceClient is the client API for NonStandardService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type NonStandardServiceClient interface { + // Apply field mask to empty NonStandardMessage and return result. + Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) + // Apply field mask to empty NonStandardMessageWithJSONNames and return result. + UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) +} + +type nonStandardServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNonStandardServiceClient(cc grpc.ClientConnInterface) NonStandardServiceClient { + return &nonStandardServiceClient{cc} +} + +func (c *nonStandardServiceClient) Update(ctx context.Context, in *NonStandardUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessage, error) { + out := new(NonStandardMessage) + err := c.cc.Invoke(ctx, "/grpc.gateway.runtime.internal.examplepb.NonStandardService/Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nonStandardServiceClient) UpdateWithJSONNames(ctx context.Context, in *NonStandardWithJSONNamesUpdateRequest, opts ...grpc.CallOption) (*NonStandardMessageWithJSONNames, error) { + out := new(NonStandardMessageWithJSONNames) + err := c.cc.Invoke(ctx, "/grpc.gateway.runtime.internal.examplepb.NonStandardService/UpdateWithJSONNames", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NonStandardServiceServer is the server API for NonStandardService service. +type NonStandardServiceServer interface { + // Apply field mask to empty NonStandardMessage and return result. + Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) + // Apply field mask to empty NonStandardMessageWithJSONNames and return result. + UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) +} + +// UnimplementedNonStandardServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNonStandardServiceServer struct { +} + +func (*UnimplementedNonStandardServiceServer) Update(context.Context, *NonStandardUpdateRequest) (*NonStandardMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (*UnimplementedNonStandardServiceServer) UpdateWithJSONNames(context.Context, *NonStandardWithJSONNamesUpdateRequest) (*NonStandardMessageWithJSONNames, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWithJSONNames not implemented") +} + +func RegisterNonStandardServiceServer(s *grpc.Server, srv NonStandardServiceServer) { + s.RegisterService(&_NonStandardService_serviceDesc, srv) +} + +func _NonStandardService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NonStandardUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NonStandardServiceServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.runtime.internal.examplepb.NonStandardService/Update", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NonStandardServiceServer).Update(ctx, req.(*NonStandardUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NonStandardService_UpdateWithJSONNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NonStandardWithJSONNamesUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.gateway.runtime.internal.examplepb.NonStandardService/UpdateWithJSONNames", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NonStandardServiceServer).UpdateWithJSONNames(ctx, req.(*NonStandardWithJSONNamesUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NonStandardService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "grpc.gateway.runtime.internal.examplepb.NonStandardService", + HandlerType: (*NonStandardServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Update", + Handler: _NonStandardService_Update_Handler, + }, + { + MethodName: "UpdateWithJSONNames", + Handler: _NonStandardService_UpdateWithJSONNames_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "runtime/internal/examplepb/non_standard_names.proto", +} diff --git a/tools.go b/tools.go new file mode 100644 index 00000000000..829cc6ffae4 --- /dev/null +++ b/tools.go @@ -0,0 +1,7 @@ +//+build tools + +package tools + +import ( + _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" +)