1// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. 2// source: opencensus/proto/agent/metrics/v1/metrics_service.proto 3 4/* 5Package v1 is a reverse proxy. 6 7It translates gRPC into RESTful JSON APIs. 8*/ 9package v1 10 11import ( 12 "context" 13 "io" 14 "net/http" 15 16 "github.com/golang/protobuf/descriptor" 17 "github.com/golang/protobuf/proto" 18 "github.com/grpc-ecosystem/grpc-gateway/runtime" 19 "github.com/grpc-ecosystem/grpc-gateway/utilities" 20 "google.golang.org/grpc" 21 "google.golang.org/grpc/codes" 22 "google.golang.org/grpc/grpclog" 23 "google.golang.org/grpc/status" 24) 25 26// Suppress "imported and not used" errors 27var _ codes.Code 28var _ io.Reader 29var _ status.Status 30var _ = runtime.String 31var _ = utilities.NewDoubleArray 32var _ = descriptor.ForMessage 33 34func request_MetricsService_Export_0(ctx context.Context, marshaler runtime.Marshaler, client MetricsServiceClient, req *http.Request, pathParams map[string]string) (MetricsService_ExportClient, runtime.ServerMetadata, error) { 35 var metadata runtime.ServerMetadata 36 stream, err := client.Export(ctx) 37 if err != nil { 38 grpclog.Infof("Failed to start streaming: %v", err) 39 return nil, metadata, err 40 } 41 dec := marshaler.NewDecoder(req.Body) 42 handleSend := func() error { 43 var protoReq ExportMetricsServiceRequest 44 err := dec.Decode(&protoReq) 45 if err == io.EOF { 46 return err 47 } 48 if err != nil { 49 grpclog.Infof("Failed to decode request: %v", err) 50 return err 51 } 52 if err := stream.Send(&protoReq); err != nil { 53 grpclog.Infof("Failed to send request: %v", err) 54 return err 55 } 56 return nil 57 } 58 if err := handleSend(); err != nil { 59 if cerr := stream.CloseSend(); cerr != nil { 60 grpclog.Infof("Failed to terminate client stream: %v", cerr) 61 } 62 if err == io.EOF { 63 return stream, metadata, nil 64 } 65 return nil, metadata, err 66 } 67 go func() { 68 for { 69 if err := handleSend(); err != nil { 70 break 71 } 72 } 73 if err := stream.CloseSend(); err != nil { 74 grpclog.Infof("Failed to terminate client stream: %v", err) 75 } 76 }() 77 header, err := stream.Header() 78 if err != nil { 79 grpclog.Infof("Failed to get header from client: %v", err) 80 return nil, metadata, err 81 } 82 metadata.HeaderMD = header 83 return stream, metadata, nil 84} 85 86// RegisterMetricsServiceHandlerServer registers the http handlers for service MetricsService to "mux". 87// UnaryRPC :call MetricsServiceServer directly. 88// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. 89func RegisterMetricsServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MetricsServiceServer) error { 90 91 mux.Handle("POST", pattern_MetricsService_Export_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { 92 err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") 93 _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) 94 runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) 95 return 96 }) 97 98 return nil 99} 100 101// RegisterMetricsServiceHandlerFromEndpoint is same as RegisterMetricsServiceHandler but 102// automatically dials to "endpoint" and closes the connection when "ctx" gets done. 103func RegisterMetricsServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { 104 conn, err := grpc.Dial(endpoint, opts...) 105 if err != nil { 106 return err 107 } 108 defer func() { 109 if err != nil { 110 if cerr := conn.Close(); cerr != nil { 111 grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) 112 } 113 return 114 } 115 go func() { 116 <-ctx.Done() 117 if cerr := conn.Close(); cerr != nil { 118 grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) 119 } 120 }() 121 }() 122 123 return RegisterMetricsServiceHandler(ctx, mux, conn) 124} 125 126// RegisterMetricsServiceHandler registers the http handlers for service MetricsService to "mux". 127// The handlers forward requests to the grpc endpoint over "conn". 128func RegisterMetricsServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { 129 return RegisterMetricsServiceHandlerClient(ctx, mux, NewMetricsServiceClient(conn)) 130} 131 132// RegisterMetricsServiceHandlerClient registers the http handlers for service MetricsService 133// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MetricsServiceClient". 134// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MetricsServiceClient" 135// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in 136// "MetricsServiceClient" to call the correct interceptors. 137func RegisterMetricsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MetricsServiceClient) error { 138 139 mux.Handle("POST", pattern_MetricsService_Export_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { 140 ctx, cancel := context.WithCancel(req.Context()) 141 defer cancel() 142 inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) 143 rctx, err := runtime.AnnotateContext(ctx, mux, req) 144 if err != nil { 145 runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) 146 return 147 } 148 resp, md, err := request_MetricsService_Export_0(rctx, inboundMarshaler, client, req, pathParams) 149 ctx = runtime.NewServerMetadataContext(ctx, md) 150 if err != nil { 151 runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) 152 return 153 } 154 155 forward_MetricsService_Export_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) 156 157 }) 158 159 return nil 160} 161 162var ( 163 pattern_MetricsService_Export_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "metrics"}, "", runtime.AssumeColonVerbOpt(true))) 164) 165 166var ( 167 forward_MetricsService_Export_0 = runtime.ForwardResponseStream 168) 169