1// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
2// source: examples/internal/proto/examplepb/use_go_template.proto
3
4/*
5Package examplepb is a reverse proxy.
6
7It translates gRPC into RESTful JSON APIs.
8*/
9package examplepb
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/metadata"
24	"google.golang.org/grpc/status"
25)
26
27// Suppress "imported and not used" errors
28var _ codes.Code
29var _ io.Reader
30var _ status.Status
31var _ = runtime.String
32var _ = utilities.NewDoubleArray
33var _ = descriptor.ForMessage
34var _ = metadata.Join
35
36func request_LoginService_Login_0(ctx context.Context, marshaler runtime.Marshaler, client LoginServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
37	var protoReq LoginRequest
38	var metadata runtime.ServerMetadata
39
40	newReader, berr := utilities.IOReaderFactory(req.Body)
41	if berr != nil {
42		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
43	}
44	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
45		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
46	}
47
48	msg, err := client.Login(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
49	return msg, metadata, err
50
51}
52
53func local_request_LoginService_Login_0(ctx context.Context, marshaler runtime.Marshaler, server LoginServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
54	var protoReq LoginRequest
55	var metadata runtime.ServerMetadata
56
57	newReader, berr := utilities.IOReaderFactory(req.Body)
58	if berr != nil {
59		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
60	}
61	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
62		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
63	}
64
65	msg, err := server.Login(ctx, &protoReq)
66	return msg, metadata, err
67
68}
69
70func request_LoginService_Logout_0(ctx context.Context, marshaler runtime.Marshaler, client LoginServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
71	var protoReq LogoutRequest
72	var metadata runtime.ServerMetadata
73
74	newReader, berr := utilities.IOReaderFactory(req.Body)
75	if berr != nil {
76		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
77	}
78	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
79		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
80	}
81
82	msg, err := client.Logout(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
83	return msg, metadata, err
84
85}
86
87func local_request_LoginService_Logout_0(ctx context.Context, marshaler runtime.Marshaler, server LoginServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
88	var protoReq LogoutRequest
89	var metadata runtime.ServerMetadata
90
91	newReader, berr := utilities.IOReaderFactory(req.Body)
92	if berr != nil {
93		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
94	}
95	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
96		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
97	}
98
99	msg, err := server.Logout(ctx, &protoReq)
100	return msg, metadata, err
101
102}
103
104// RegisterLoginServiceHandlerServer registers the http handlers for service LoginService to "mux".
105// UnaryRPC     :call LoginServiceServer directly.
106// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
107// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterLoginServiceHandlerFromEndpoint instead.
108func RegisterLoginServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server LoginServiceServer) error {
109
110	mux.Handle("POST", pattern_LoginService_Login_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
111		ctx, cancel := context.WithCancel(req.Context())
112		defer cancel()
113		var stream runtime.ServerTransportStream
114		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
115		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
116		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
117		if err != nil {
118			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
119			return
120		}
121		resp, md, err := local_request_LoginService_Login_0(rctx, inboundMarshaler, server, req, pathParams)
122		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
123		ctx = runtime.NewServerMetadataContext(ctx, md)
124		if err != nil {
125			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
126			return
127		}
128
129		forward_LoginService_Login_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
130
131	})
132
133	mux.Handle("POST", pattern_LoginService_Logout_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
134		ctx, cancel := context.WithCancel(req.Context())
135		defer cancel()
136		var stream runtime.ServerTransportStream
137		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
138		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
139		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
140		if err != nil {
141			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
142			return
143		}
144		resp, md, err := local_request_LoginService_Logout_0(rctx, inboundMarshaler, server, req, pathParams)
145		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
146		ctx = runtime.NewServerMetadataContext(ctx, md)
147		if err != nil {
148			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
149			return
150		}
151
152		forward_LoginService_Logout_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
153
154	})
155
156	return nil
157}
158
159// RegisterLoginServiceHandlerFromEndpoint is same as RegisterLoginServiceHandler but
160// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
161func RegisterLoginServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
162	conn, err := grpc.Dial(endpoint, opts...)
163	if err != nil {
164		return err
165	}
166	defer func() {
167		if err != nil {
168			if cerr := conn.Close(); cerr != nil {
169				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
170			}
171			return
172		}
173		go func() {
174			<-ctx.Done()
175			if cerr := conn.Close(); cerr != nil {
176				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
177			}
178		}()
179	}()
180
181	return RegisterLoginServiceHandler(ctx, mux, conn)
182}
183
184// RegisterLoginServiceHandler registers the http handlers for service LoginService to "mux".
185// The handlers forward requests to the grpc endpoint over "conn".
186func RegisterLoginServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
187	return RegisterLoginServiceHandlerClient(ctx, mux, NewLoginServiceClient(conn))
188}
189
190// RegisterLoginServiceHandlerClient registers the http handlers for service LoginService
191// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "LoginServiceClient".
192// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "LoginServiceClient"
193// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
194// "LoginServiceClient" to call the correct interceptors.
195func RegisterLoginServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client LoginServiceClient) error {
196
197	mux.Handle("POST", pattern_LoginService_Login_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
198		ctx, cancel := context.WithCancel(req.Context())
199		defer cancel()
200		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
201		rctx, err := runtime.AnnotateContext(ctx, mux, req)
202		if err != nil {
203			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
204			return
205		}
206		resp, md, err := request_LoginService_Login_0(rctx, inboundMarshaler, client, req, pathParams)
207		ctx = runtime.NewServerMetadataContext(ctx, md)
208		if err != nil {
209			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
210			return
211		}
212
213		forward_LoginService_Login_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
214
215	})
216
217	mux.Handle("POST", pattern_LoginService_Logout_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
218		ctx, cancel := context.WithCancel(req.Context())
219		defer cancel()
220		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
221		rctx, err := runtime.AnnotateContext(ctx, mux, req)
222		if err != nil {
223			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
224			return
225		}
226		resp, md, err := request_LoginService_Logout_0(rctx, inboundMarshaler, client, req, pathParams)
227		ctx = runtime.NewServerMetadataContext(ctx, md)
228		if err != nil {
229			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
230			return
231		}
232
233		forward_LoginService_Logout_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
234
235	})
236
237	return nil
238}
239
240var (
241	pattern_LoginService_Login_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "example", "login"}, "", runtime.AssumeColonVerbOpt(true)))
242
243	pattern_LoginService_Logout_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "example", "logout"}, "", runtime.AssumeColonVerbOpt(true)))
244)
245
246var (
247	forward_LoginService_Login_0 = runtime.ForwardResponseMessage
248
249	forward_LoginService_Logout_0 = runtime.ForwardResponseMessage
250)
251