...

Source file src/github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb/stream.pb.gw.go

Documentation: github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb

     1  // Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
     2  // source: examples/internal/proto/examplepb/stream.proto
     3  
     4  /*
     5  Package examplepb is a reverse proxy.
     6  
     7  It translates gRPC into RESTful JSON APIs.
     8  */
     9  package examplepb
    10  
    11  import (
    12  	"context"
    13  	"io"
    14  	"net/http"
    15  
    16  	"github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/sub"
    17  	"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
    18  	"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
    19  	"google.golang.org/grpc"
    20  	"google.golang.org/grpc/codes"
    21  	"google.golang.org/grpc/grpclog"
    22  	"google.golang.org/grpc/metadata"
    23  	"google.golang.org/grpc/status"
    24  	"google.golang.org/protobuf/proto"
    25  )
    26  
    27  // Suppress "imported and not used" errors
    28  var _ codes.Code
    29  var _ io.Reader
    30  var _ status.Status
    31  var _ = runtime.String
    32  var _ = utilities.NewDoubleArray
    33  var _ = metadata.Join
    34  
    35  func request_StreamService_BulkCreate_0(ctx context.Context, marshaler runtime.Marshaler, client StreamServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
    36  	var metadata runtime.ServerMetadata
    37  	stream, err := client.BulkCreate(ctx)
    38  	if err != nil {
    39  		grpclog.Infof("Failed to start streaming: %v", err)
    40  		return nil, metadata, err
    41  	}
    42  	dec := marshaler.NewDecoder(req.Body)
    43  	for {
    44  		var protoReq ABitOfEverything
    45  		err = dec.Decode(&protoReq)
    46  		if err == io.EOF {
    47  			break
    48  		}
    49  		if err != nil {
    50  			grpclog.Infof("Failed to decode request: %v", err)
    51  			return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
    52  		}
    53  		if err = stream.Send(&protoReq); err != nil {
    54  			if err == io.EOF {
    55  				break
    56  			}
    57  			grpclog.Infof("Failed to send request: %v", err)
    58  			return nil, metadata, err
    59  		}
    60  	}
    61  
    62  	if err := stream.CloseSend(); err != nil {
    63  		grpclog.Infof("Failed to terminate client stream: %v", err)
    64  		return nil, metadata, err
    65  	}
    66  	header, err := stream.Header()
    67  	if err != nil {
    68  		grpclog.Infof("Failed to get header from client: %v", err)
    69  		return nil, metadata, err
    70  	}
    71  	metadata.HeaderMD = header
    72  
    73  	msg, err := stream.CloseAndRecv()
    74  	metadata.TrailerMD = stream.Trailer()
    75  	return msg, metadata, err
    76  
    77  }
    78  
    79  var (
    80  	filter_StreamService_List_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
    81  )
    82  
    83  func request_StreamService_List_0(ctx context.Context, marshaler runtime.Marshaler, client StreamServiceClient, req *http.Request, pathParams map[string]string) (StreamService_ListClient, runtime.ServerMetadata, error) {
    84  	var protoReq Options
    85  	var metadata runtime.ServerMetadata
    86  
    87  	if err := req.ParseForm(); err != nil {
    88  		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
    89  	}
    90  	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_StreamService_List_0); err != nil {
    91  		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
    92  	}
    93  
    94  	stream, err := client.List(ctx, &protoReq)
    95  	if err != nil {
    96  		return nil, metadata, err
    97  	}
    98  	header, err := stream.Header()
    99  	if err != nil {
   100  		return nil, metadata, err
   101  	}
   102  	metadata.HeaderMD = header
   103  	return stream, metadata, nil
   104  
   105  }
   106  
   107  func request_StreamService_BulkEcho_0(ctx context.Context, marshaler runtime.Marshaler, client StreamServiceClient, req *http.Request, pathParams map[string]string) (StreamService_BulkEchoClient, runtime.ServerMetadata, error) {
   108  	var metadata runtime.ServerMetadata
   109  	stream, err := client.BulkEcho(ctx)
   110  	if err != nil {
   111  		grpclog.Infof("Failed to start streaming: %v", err)
   112  		return nil, metadata, err
   113  	}
   114  	dec := marshaler.NewDecoder(req.Body)
   115  	handleSend := func() error {
   116  		var protoReq sub.StringMessage
   117  		err := dec.Decode(&protoReq)
   118  		if err == io.EOF {
   119  			return err
   120  		}
   121  		if err != nil {
   122  			grpclog.Infof("Failed to decode request: %v", err)
   123  			return err
   124  		}
   125  		if err := stream.Send(&protoReq); err != nil {
   126  			grpclog.Infof("Failed to send request: %v", err)
   127  			return err
   128  		}
   129  		return nil
   130  	}
   131  	go func() {
   132  		for {
   133  			if err := handleSend(); err != nil {
   134  				break
   135  			}
   136  		}
   137  		if err := stream.CloseSend(); err != nil {
   138  			grpclog.Infof("Failed to terminate client stream: %v", err)
   139  		}
   140  	}()
   141  	header, err := stream.Header()
   142  	if err != nil {
   143  		grpclog.Infof("Failed to get header from client: %v", err)
   144  		return nil, metadata, err
   145  	}
   146  	metadata.HeaderMD = header
   147  	return stream, metadata, nil
   148  }
   149  
   150  var (
   151  	filter_StreamService_Download_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
   152  )
   153  
   154  func request_StreamService_Download_0(ctx context.Context, marshaler runtime.Marshaler, client StreamServiceClient, req *http.Request, pathParams map[string]string) (StreamService_DownloadClient, runtime.ServerMetadata, error) {
   155  	var protoReq Options
   156  	var metadata runtime.ServerMetadata
   157  
   158  	if err := req.ParseForm(); err != nil {
   159  		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
   160  	}
   161  	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_StreamService_Download_0); err != nil {
   162  		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
   163  	}
   164  
   165  	stream, err := client.Download(ctx, &protoReq)
   166  	if err != nil {
   167  		return nil, metadata, err
   168  	}
   169  	header, err := stream.Header()
   170  	if err != nil {
   171  		return nil, metadata, err
   172  	}
   173  	metadata.HeaderMD = header
   174  	return stream, metadata, nil
   175  
   176  }
   177  
   178  // RegisterStreamServiceHandlerServer registers the http handlers for service StreamService to "mux".
   179  // UnaryRPC     :call StreamServiceServer directly.
   180  // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
   181  // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterStreamServiceHandlerFromEndpoint instead.
   182  func RegisterStreamServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server StreamServiceServer) error {
   183  
   184  	mux.Handle("POST", pattern_StreamService_BulkCreate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   185  		err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport")
   186  		_, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   187  		runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   188  		return
   189  	})
   190  
   191  	mux.Handle("GET", pattern_StreamService_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   192  		err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport")
   193  		_, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   194  		runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   195  		return
   196  	})
   197  
   198  	mux.Handle("POST", pattern_StreamService_BulkEcho_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   199  		err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport")
   200  		_, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   201  		runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   202  		return
   203  	})
   204  
   205  	mux.Handle("GET", pattern_StreamService_Download_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   206  		err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport")
   207  		_, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   208  		runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   209  		return
   210  	})
   211  
   212  	return nil
   213  }
   214  
   215  // RegisterStreamServiceHandlerFromEndpoint is same as RegisterStreamServiceHandler but
   216  // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
   217  func RegisterStreamServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
   218  	conn, err := grpc.DialContext(ctx, endpoint, opts...)
   219  	if err != nil {
   220  		return err
   221  	}
   222  	defer func() {
   223  		if err != nil {
   224  			if cerr := conn.Close(); cerr != nil {
   225  				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
   226  			}
   227  			return
   228  		}
   229  		go func() {
   230  			<-ctx.Done()
   231  			if cerr := conn.Close(); cerr != nil {
   232  				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
   233  			}
   234  		}()
   235  	}()
   236  
   237  	return RegisterStreamServiceHandler(ctx, mux, conn)
   238  }
   239  
   240  // RegisterStreamServiceHandler registers the http handlers for service StreamService to "mux".
   241  // The handlers forward requests to the grpc endpoint over "conn".
   242  func RegisterStreamServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
   243  	return RegisterStreamServiceHandlerClient(ctx, mux, NewStreamServiceClient(conn))
   244  }
   245  
   246  // RegisterStreamServiceHandlerClient registers the http handlers for service StreamService
   247  // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "StreamServiceClient".
   248  // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "StreamServiceClient"
   249  // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
   250  // "StreamServiceClient" to call the correct interceptors.
   251  func RegisterStreamServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client StreamServiceClient) error {
   252  
   253  	mux.Handle("POST", pattern_StreamService_BulkCreate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   254  		ctx, cancel := context.WithCancel(req.Context())
   255  		defer cancel()
   256  		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   257  		var err error
   258  		var annotatedContext context.Context
   259  		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkCreate", runtime.WithHTTPPathPattern("/v1/example/a_bit_of_everything/bulk"))
   260  		if err != nil {
   261  			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   262  			return
   263  		}
   264  		resp, md, err := request_StreamService_BulkCreate_0(annotatedContext, inboundMarshaler, client, req, pathParams)
   265  		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
   266  		if err != nil {
   267  			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
   268  			return
   269  		}
   270  
   271  		forward_StreamService_BulkCreate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
   272  
   273  	})
   274  
   275  	mux.Handle("GET", pattern_StreamService_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   276  		ctx, cancel := context.WithCancel(req.Context())
   277  		defer cancel()
   278  		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   279  		var err error
   280  		var annotatedContext context.Context
   281  		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/grpc.gateway.examples.internal.proto.examplepb.StreamService/List", runtime.WithHTTPPathPattern("/v1/example/a_bit_of_everything"))
   282  		if err != nil {
   283  			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   284  			return
   285  		}
   286  		resp, md, err := request_StreamService_List_0(annotatedContext, inboundMarshaler, client, req, pathParams)
   287  		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
   288  		if err != nil {
   289  			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
   290  			return
   291  		}
   292  
   293  		forward_StreamService_List_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
   294  
   295  	})
   296  
   297  	mux.Handle("POST", pattern_StreamService_BulkEcho_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   298  		ctx, cancel := context.WithCancel(req.Context())
   299  		defer cancel()
   300  		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   301  		var err error
   302  		var annotatedContext context.Context
   303  		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/grpc.gateway.examples.internal.proto.examplepb.StreamService/BulkEcho", runtime.WithHTTPPathPattern("/v1/example/a_bit_of_everything/echo"))
   304  		if err != nil {
   305  			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   306  			return
   307  		}
   308  		resp, md, err := request_StreamService_BulkEcho_0(annotatedContext, inboundMarshaler, client, req, pathParams)
   309  		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
   310  		if err != nil {
   311  			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
   312  			return
   313  		}
   314  
   315  		forward_StreamService_BulkEcho_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
   316  
   317  	})
   318  
   319  	mux.Handle("GET", pattern_StreamService_Download_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
   320  		ctx, cancel := context.WithCancel(req.Context())
   321  		defer cancel()
   322  		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
   323  		var err error
   324  		var annotatedContext context.Context
   325  		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/grpc.gateway.examples.internal.proto.examplepb.StreamService/Download", runtime.WithHTTPPathPattern("/v1/example/download"))
   326  		if err != nil {
   327  			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
   328  			return
   329  		}
   330  		resp, md, err := request_StreamService_Download_0(annotatedContext, inboundMarshaler, client, req, pathParams)
   331  		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
   332  		if err != nil {
   333  			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
   334  			return
   335  		}
   336  
   337  		forward_StreamService_Download_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
   338  
   339  	})
   340  
   341  	return nil
   342  }
   343  
   344  var (
   345  	pattern_StreamService_BulkCreate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "example", "a_bit_of_everything", "bulk"}, ""))
   346  
   347  	pattern_StreamService_List_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "example", "a_bit_of_everything"}, ""))
   348  
   349  	pattern_StreamService_BulkEcho_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "example", "a_bit_of_everything", "echo"}, ""))
   350  
   351  	pattern_StreamService_Download_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "example", "download"}, ""))
   352  )
   353  
   354  var (
   355  	forward_StreamService_BulkCreate_0 = runtime.ForwardResponseMessage
   356  
   357  	forward_StreamService_List_0 = runtime.ForwardResponseStream
   358  
   359  	forward_StreamService_BulkEcho_0 = runtime.ForwardResponseStream
   360  
   361  	forward_StreamService_Download_0 = runtime.ForwardResponseStream
   362  )
   363  

View as plain text