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  )