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