github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/gateway/proto/hello/hello.pb.gw.go (about) 1 // Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. 2 // source: hello.proto 3 4 /* 5 Package greeter is a reverse proxy. 6 7 It translates gRPC into RESTful JSON APIs. 8 */ 9 package greeter 10 11 import ( 12 "io" 13 "net/http" 14 15 "github.com/golang/protobuf/proto" 16 "github.com/grpc-ecosystem/grpc-gateway/runtime" 17 "github.com/grpc-ecosystem/grpc-gateway/utilities" 18 "golang.org/x/net/context" 19 "google.golang.org/grpc" 20 "google.golang.org/grpc/codes" 21 "google.golang.org/grpc/grpclog" 22 "google.golang.org/grpc/status" 23 ) 24 25 var _ codes.Code 26 var _ io.Reader 27 var _ status.Status 28 var _ = runtime.String 29 var _ = utilities.NewDoubleArray 30 31 func request_Say_Hello_0(ctx context.Context, marshaler runtime.Marshaler, client SayClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { 32 var protoReq Request 33 var metadata runtime.ServerMetadata 34 35 if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil { 36 return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) 37 } 38 39 msg, err := client.Hello(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) 40 return msg, metadata, err 41 42 } 43 44 // RegisterSayHandlerFromEndpoint is same as RegisterSayHandler but 45 // automatically dials to "endpoint" and closes the connection when "ctx" gets done. 46 func RegisterSayHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { 47 conn, err := grpc.Dial(endpoint, opts...) 48 if err != nil { 49 return err 50 } 51 defer func() { 52 if err != nil { 53 if cerr := conn.Close(); cerr != nil { 54 grpclog.Printf("Failed to close conn to %s: %v", endpoint, cerr) 55 } 56 return 57 } 58 go func() { 59 <-ctx.Done() 60 if cerr := conn.Close(); cerr != nil { 61 grpclog.Printf("Failed to close conn to %s: %v", endpoint, cerr) 62 } 63 }() 64 }() 65 66 return RegisterSayHandler(ctx, mux, conn) 67 } 68 69 // RegisterSayHandler registers the http handlers for service Say to "mux". 70 // The handlers forward requests to the grpc endpoint over "conn". 71 func RegisterSayHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { 72 client := NewSayClient(conn) 73 74 mux.Handle("POST", pattern_Say_Hello_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { 75 ctx, cancel := context.WithCancel(ctx) 76 defer cancel() 77 if cn, ok := w.(http.CloseNotifier); ok { 78 go func(done <-chan struct{}, closed <-chan bool) { 79 select { 80 case <-done: 81 case <-closed: 82 cancel() 83 } 84 }(ctx.Done(), cn.CloseNotify()) 85 } 86 inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) 87 rctx, err := runtime.AnnotateContext(ctx, mux, req) 88 if err != nil { 89 runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) 90 return 91 } 92 resp, md, err := request_Say_Hello_0(rctx, inboundMarshaler, client, req, pathParams) 93 ctx = runtime.NewServerMetadataContext(ctx, md) 94 if err != nil { 95 runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) 96 return 97 } 98 99 forward_Say_Hello_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) 100 101 }) 102 103 return nil 104 } 105 106 var ( 107 pattern_Say_Hello_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"greeter", "hello"}, "")) 108 ) 109 110 var ( 111 forward_Say_Hello_0 = runtime.ForwardResponseMessage 112 )