2021-09-17 23:39:15 +00:00
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
2024-10-17 15:15:05 +00:00
// source: example/pb/example.proto
2021-09-17 23:39:15 +00:00
/ *
2024-10-17 15:15:05 +00:00
Package pb is a reverse proxy .
2021-09-17 23:39:15 +00:00
It translates gRPC into RESTful JSON APIs .
* /
2024-10-17 15:15:05 +00:00
package pb
2021-09-17 23:39:15 +00:00
import (
"context"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var _ codes . Code
var _ io . Reader
var _ status . Status
var _ = runtime . String
var _ = utilities . NewDoubleArray
var _ = metadata . Join
func request_Greeter_SayHello_0 ( ctx context . Context , marshaler runtime . Marshaler , client GreeterClient , req * http . Request , pathParams map [ string ] string ) ( proto . Message , runtime . ServerMetadata , error ) {
var protoReq HelloRequest
var metadata runtime . ServerMetadata
2024-10-17 15:15:05 +00:00
if err := marshaler . NewDecoder ( req . Body ) . Decode ( & protoReq ) ; err != nil && err != io . EOF {
2021-09-17 23:39:15 +00:00
return nil , metadata , status . Errorf ( codes . InvalidArgument , "%v" , err )
}
msg , err := client . SayHello ( ctx , & protoReq , grpc . Header ( & metadata . HeaderMD ) , grpc . Trailer ( & metadata . TrailerMD ) )
return msg , metadata , err
}
func local_request_Greeter_SayHello_0 ( ctx context . Context , marshaler runtime . Marshaler , server GreeterServer , req * http . Request , pathParams map [ string ] string ) ( proto . Message , runtime . ServerMetadata , error ) {
var protoReq HelloRequest
var metadata runtime . ServerMetadata
2024-10-17 15:15:05 +00:00
if err := marshaler . NewDecoder ( req . Body ) . Decode ( & protoReq ) ; err != nil && err != io . EOF {
2021-09-17 23:39:15 +00:00
return nil , metadata , status . Errorf ( codes . InvalidArgument , "%v" , err )
}
msg , err := server . SayHello ( ctx , & protoReq )
return msg , metadata , err
}
// RegisterGreeterHandlerServer registers the http handlers for service Greeter to "mux".
// UnaryRPC :call GreeterServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterGreeterHandlerFromEndpoint instead.
func RegisterGreeterHandlerServer ( ctx context . Context , mux * runtime . ServeMux , server GreeterServer ) error {
mux . Handle ( "POST" , pattern_Greeter_SayHello_0 , func ( w http . ResponseWriter , req * http . Request , pathParams map [ string ] string ) {
ctx , cancel := context . WithCancel ( req . Context ( ) )
defer cancel ( )
var stream runtime . ServerTransportStream
ctx = grpc . NewContextWithServerTransportStream ( ctx , & stream )
inboundMarshaler , outboundMarshaler := runtime . MarshalerForRequest ( mux , req )
2024-10-17 15:15:05 +00:00
var err error
var annotatedContext context . Context
annotatedContext , err = runtime . AnnotateIncomingContext ( ctx , mux , req , "/helloworld.Greeter/SayHello" , runtime . WithHTTPPathPattern ( "/api/v1/greeter/hello" ) )
2021-09-17 23:39:15 +00:00
if err != nil {
runtime . HTTPError ( ctx , mux , outboundMarshaler , w , req , err )
return
}
2024-10-17 15:15:05 +00:00
resp , md , err := local_request_Greeter_SayHello_0 ( annotatedContext , inboundMarshaler , server , req , pathParams )
2021-09-17 23:39:15 +00:00
md . HeaderMD , md . TrailerMD = metadata . Join ( md . HeaderMD , stream . Header ( ) ) , metadata . Join ( md . TrailerMD , stream . Trailer ( ) )
2024-10-17 15:15:05 +00:00
annotatedContext = runtime . NewServerMetadataContext ( annotatedContext , md )
2021-09-17 23:39:15 +00:00
if err != nil {
2024-10-17 15:15:05 +00:00
runtime . HTTPError ( annotatedContext , mux , outboundMarshaler , w , req , err )
2021-09-17 23:39:15 +00:00
return
}
2024-10-17 15:15:05 +00:00
forward_Greeter_SayHello_0 ( annotatedContext , mux , outboundMarshaler , w , req , resp , mux . GetForwardResponseOptions ( ) ... )
2021-09-17 23:39:15 +00:00
} )
return nil
}
// RegisterGreeterHandlerFromEndpoint is same as RegisterGreeterHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterGreeterHandlerFromEndpoint ( ctx context . Context , mux * runtime . ServeMux , endpoint string , opts [ ] grpc . DialOption ) ( err error ) {
2024-10-17 15:15:05 +00:00
conn , err := grpc . NewClient ( endpoint , opts ... )
2021-09-17 23:39:15 +00:00
if err != nil {
return err
}
defer func ( ) {
if err != nil {
if cerr := conn . Close ( ) ; cerr != nil {
2024-10-17 15:15:05 +00:00
grpclog . Errorf ( "Failed to close conn to %s: %v" , endpoint , cerr )
2021-09-17 23:39:15 +00:00
}
return
}
go func ( ) {
<- ctx . Done ( )
if cerr := conn . Close ( ) ; cerr != nil {
2024-10-17 15:15:05 +00:00
grpclog . Errorf ( "Failed to close conn to %s: %v" , endpoint , cerr )
2021-09-17 23:39:15 +00:00
}
} ( )
} ( )
return RegisterGreeterHandler ( ctx , mux , conn )
}
// RegisterGreeterHandler registers the http handlers for service Greeter to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterGreeterHandler ( ctx context . Context , mux * runtime . ServeMux , cc grpc . ClientConnInterface ) error {
return RegisterGreeterHandlerClient ( ctx , mux , NewGreeterClient ( cc ) )
}
// RegisterGreeterHandlerClient registers the http handlers for service Greeter
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "GreeterClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "GreeterClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "GreeterClient" to call the correct interceptors.
func RegisterGreeterHandlerClient ( ctx context . Context , mux * runtime . ServeMux , client GreeterClient ) error {
mux . Handle ( "POST" , pattern_Greeter_SayHello_0 , func ( w http . ResponseWriter , req * http . Request , pathParams map [ string ] string ) {
ctx , cancel := context . WithCancel ( req . Context ( ) )
defer cancel ( )
inboundMarshaler , outboundMarshaler := runtime . MarshalerForRequest ( mux , req )
2024-10-17 15:15:05 +00:00
var err error
var annotatedContext context . Context
annotatedContext , err = runtime . AnnotateContext ( ctx , mux , req , "/helloworld.Greeter/SayHello" , runtime . WithHTTPPathPattern ( "/api/v1/greeter/hello" ) )
2021-09-17 23:39:15 +00:00
if err != nil {
runtime . HTTPError ( ctx , mux , outboundMarshaler , w , req , err )
return
}
2024-10-17 15:15:05 +00:00
resp , md , err := request_Greeter_SayHello_0 ( annotatedContext , inboundMarshaler , client , req , pathParams )
annotatedContext = runtime . NewServerMetadataContext ( annotatedContext , md )
2021-09-17 23:39:15 +00:00
if err != nil {
2024-10-17 15:15:05 +00:00
runtime . HTTPError ( annotatedContext , mux , outboundMarshaler , w , req , err )
2021-09-17 23:39:15 +00:00
return
}
2024-10-17 15:15:05 +00:00
forward_Greeter_SayHello_0 ( annotatedContext , mux , outboundMarshaler , w , req , resp , mux . GetForwardResponseOptions ( ) ... )
2021-09-17 23:39:15 +00:00
} )
return nil
}
var (
pattern_Greeter_SayHello_0 = runtime . MustPattern ( runtime . NewPattern ( 1 , [ ] int { 2 , 0 , 2 , 1 , 2 , 2 , 2 , 3 } , [ ] string { "api" , "v1" , "greeter" , "hello" } , "" ) )
)
var (
forward_Greeter_SayHello_0 = runtime . ForwardResponseMessage
)