1/*
2 * examples/internal/proto/examplepb/unannotated_echo_service.proto
3 *
4 * Unannotated Echo Service Similar to echo_service.proto but without annotations. See unannotated_echo_service.yaml for the equivalent of the annotations in gRPC API configuration format.  Echo Service API consists of a single service which returns a message.
5 *
6 * API version: version not set
7 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
8 */
9
10package unannotatedecho
11
12import (
13	"context"
14	"io/ioutil"
15	"net/http"
16	"net/url"
17	"strings"
18	"fmt"
19	"github.com/antihax/optional"
20)
21
22// Linger please
23var (
24	_ context.Context
25)
26
27type UnannotatedEchoServiceApiService service
28
29/*
30UnannotatedEchoServiceApiService Echo method receives a simple message and returns it.
31The message posted as the id parameter will also be returned.
32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
33 * @param id Id represents the message identifier.
34
35@return ExamplepbUnannotatedSimpleMessage
36*/
37func (a *UnannotatedEchoServiceApiService) UnannotatedEchoServiceEcho(ctx context.Context, id string) (ExamplepbUnannotatedSimpleMessage, *http.Response, error) {
38	var (
39		localVarHttpMethod = strings.ToUpper("Post")
40		localVarPostBody   interface{}
41		localVarFileName   string
42		localVarFileBytes  []byte
43		localVarReturnValue ExamplepbUnannotatedSimpleMessage
44	)
45
46	// create path and map variables
47	localVarPath := a.client.cfg.BasePath + "/v1/example/echo/{id}"
48	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
49
50	localVarHeaderParams := make(map[string]string)
51	localVarQueryParams := url.Values{}
52	localVarFormParams := url.Values{}
53
54	// to determine the Content-Type header
55	localVarHttpContentTypes := []string{"application/json"}
56
57	// set Content-Type header
58	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
59	if localVarHttpContentType != "" {
60		localVarHeaderParams["Content-Type"] = localVarHttpContentType
61	}
62
63	// to determine the Accept header
64	localVarHttpHeaderAccepts := []string{"application/json"}
65
66	// set Accept header
67	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
68	if localVarHttpHeaderAccept != "" {
69		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
70	}
71	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
72	if err != nil {
73		return localVarReturnValue, nil, err
74	}
75
76	localVarHttpResponse, err := a.client.callAPI(r)
77	if err != nil || localVarHttpResponse == nil {
78		return localVarReturnValue, localVarHttpResponse, err
79	}
80
81	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
82	localVarHttpResponse.Body.Close()
83	if err != nil {
84		return localVarReturnValue, localVarHttpResponse, err
85	}
86
87	if localVarHttpResponse.StatusCode < 300 {
88		// If we succeed, return the data, otherwise pass on to decode error.
89		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
90		if err == nil {
91			return localVarReturnValue, localVarHttpResponse, err
92		}
93	}
94
95	if localVarHttpResponse.StatusCode >= 300 {
96		newErr := GenericSwaggerError{
97			body: localVarBody,
98			error: localVarHttpResponse.Status,
99		}
100
101		if localVarHttpResponse.StatusCode == 200 {
102			var v ExamplepbUnannotatedSimpleMessage
103			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
104				if err != nil {
105					newErr.error = err.Error()
106					return localVarReturnValue, localVarHttpResponse, newErr
107				}
108				newErr.model = v
109				return localVarReturnValue, localVarHttpResponse, newErr
110		}
111
112		if localVarHttpResponse.StatusCode == 0 {
113			var v RuntimeError
114			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
115				if err != nil {
116					newErr.error = err.Error()
117					return localVarReturnValue, localVarHttpResponse, newErr
118				}
119				newErr.model = v
120				return localVarReturnValue, localVarHttpResponse, newErr
121		}
122
123		return localVarReturnValue, localVarHttpResponse, newErr
124	}
125
126	return localVarReturnValue, localVarHttpResponse, nil
127}
128
129/*
130UnannotatedEchoServiceApiService Echo method receives a simple message and returns it.
131The message posted as the id parameter will also be returned.
132 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
133 * @param id Id represents the message identifier.
134 * @param num
135 * @param optional nil or *UnannotatedEchoServiceEcho2Opts - Optional Parameters:
136     * @param "Duration" (optional.String) -
137
138@return ExamplepbUnannotatedSimpleMessage
139*/
140
141type UnannotatedEchoServiceEcho2Opts struct {
142	Duration optional.String
143}
144
145func (a *UnannotatedEchoServiceApiService) UnannotatedEchoServiceEcho2(ctx context.Context, id string, num string, localVarOptionals *UnannotatedEchoServiceEcho2Opts) (ExamplepbUnannotatedSimpleMessage, *http.Response, error) {
146	var (
147		localVarHttpMethod = strings.ToUpper("Get")
148		localVarPostBody   interface{}
149		localVarFileName   string
150		localVarFileBytes  []byte
151		localVarReturnValue ExamplepbUnannotatedSimpleMessage
152	)
153
154	// create path and map variables
155	localVarPath := a.client.cfg.BasePath + "/v1/example/echo/{id}/{num}"
156	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
157	localVarPath = strings.Replace(localVarPath, "{"+"num"+"}", fmt.Sprintf("%v", num), -1)
158
159	localVarHeaderParams := make(map[string]string)
160	localVarQueryParams := url.Values{}
161	localVarFormParams := url.Values{}
162
163	if localVarOptionals != nil && localVarOptionals.Duration.IsSet() {
164		localVarQueryParams.Add("duration", parameterToString(localVarOptionals.Duration.Value(), ""))
165	}
166	// to determine the Content-Type header
167	localVarHttpContentTypes := []string{"application/json"}
168
169	// set Content-Type header
170	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
171	if localVarHttpContentType != "" {
172		localVarHeaderParams["Content-Type"] = localVarHttpContentType
173	}
174
175	// to determine the Accept header
176	localVarHttpHeaderAccepts := []string{"application/json"}
177
178	// set Accept header
179	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
180	if localVarHttpHeaderAccept != "" {
181		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
182	}
183	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
184	if err != nil {
185		return localVarReturnValue, nil, err
186	}
187
188	localVarHttpResponse, err := a.client.callAPI(r)
189	if err != nil || localVarHttpResponse == nil {
190		return localVarReturnValue, localVarHttpResponse, err
191	}
192
193	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
194	localVarHttpResponse.Body.Close()
195	if err != nil {
196		return localVarReturnValue, localVarHttpResponse, err
197	}
198
199	if localVarHttpResponse.StatusCode < 300 {
200		// If we succeed, return the data, otherwise pass on to decode error.
201		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
202		if err == nil {
203			return localVarReturnValue, localVarHttpResponse, err
204		}
205	}
206
207	if localVarHttpResponse.StatusCode >= 300 {
208		newErr := GenericSwaggerError{
209			body: localVarBody,
210			error: localVarHttpResponse.Status,
211		}
212
213		if localVarHttpResponse.StatusCode == 200 {
214			var v ExamplepbUnannotatedSimpleMessage
215			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
216				if err != nil {
217					newErr.error = err.Error()
218					return localVarReturnValue, localVarHttpResponse, newErr
219				}
220				newErr.model = v
221				return localVarReturnValue, localVarHttpResponse, newErr
222		}
223
224		if localVarHttpResponse.StatusCode == 0 {
225			var v RuntimeError
226			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
227				if err != nil {
228					newErr.error = err.Error()
229					return localVarReturnValue, localVarHttpResponse, newErr
230				}
231				newErr.model = v
232				return localVarReturnValue, localVarHttpResponse, newErr
233		}
234
235		return localVarReturnValue, localVarHttpResponse, newErr
236	}
237
238	return localVarReturnValue, localVarHttpResponse, nil
239}
240
241/*
242UnannotatedEchoServiceApiService EchoBody method receives a simple message and returns it.
243 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
244 * @param body
245
246@return ExamplepbUnannotatedSimpleMessage
247*/
248func (a *UnannotatedEchoServiceApiService) UnannotatedEchoServiceEchoBody(ctx context.Context, body ExamplepbUnannotatedSimpleMessage) (ExamplepbUnannotatedSimpleMessage, *http.Response, error) {
249	var (
250		localVarHttpMethod = strings.ToUpper("Post")
251		localVarPostBody   interface{}
252		localVarFileName   string
253		localVarFileBytes  []byte
254		localVarReturnValue ExamplepbUnannotatedSimpleMessage
255	)
256
257	// create path and map variables
258	localVarPath := a.client.cfg.BasePath + "/v1/example/echo_body"
259
260	localVarHeaderParams := make(map[string]string)
261	localVarQueryParams := url.Values{}
262	localVarFormParams := url.Values{}
263
264	// to determine the Content-Type header
265	localVarHttpContentTypes := []string{"application/json"}
266
267	// set Content-Type header
268	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
269	if localVarHttpContentType != "" {
270		localVarHeaderParams["Content-Type"] = localVarHttpContentType
271	}
272
273	// to determine the Accept header
274	localVarHttpHeaderAccepts := []string{"application/json"}
275
276	// set Accept header
277	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
278	if localVarHttpHeaderAccept != "" {
279		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
280	}
281	// body params
282	localVarPostBody = &body
283	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
284	if err != nil {
285		return localVarReturnValue, nil, err
286	}
287
288	localVarHttpResponse, err := a.client.callAPI(r)
289	if err != nil || localVarHttpResponse == nil {
290		return localVarReturnValue, localVarHttpResponse, err
291	}
292
293	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
294	localVarHttpResponse.Body.Close()
295	if err != nil {
296		return localVarReturnValue, localVarHttpResponse, err
297	}
298
299	if localVarHttpResponse.StatusCode < 300 {
300		// If we succeed, return the data, otherwise pass on to decode error.
301		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
302		if err == nil {
303			return localVarReturnValue, localVarHttpResponse, err
304		}
305	}
306
307	if localVarHttpResponse.StatusCode >= 300 {
308		newErr := GenericSwaggerError{
309			body: localVarBody,
310			error: localVarHttpResponse.Status,
311		}
312
313		if localVarHttpResponse.StatusCode == 200 {
314			var v ExamplepbUnannotatedSimpleMessage
315			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
316				if err != nil {
317					newErr.error = err.Error()
318					return localVarReturnValue, localVarHttpResponse, newErr
319				}
320				newErr.model = v
321				return localVarReturnValue, localVarHttpResponse, newErr
322		}
323
324		if localVarHttpResponse.StatusCode == 0 {
325			var v RuntimeError
326			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
327				if err != nil {
328					newErr.error = err.Error()
329					return localVarReturnValue, localVarHttpResponse, newErr
330				}
331				newErr.model = v
332				return localVarReturnValue, localVarHttpResponse, newErr
333		}
334
335		return localVarReturnValue, localVarHttpResponse, newErr
336	}
337
338	return localVarReturnValue, localVarHttpResponse, nil
339}
340
341/*
342UnannotatedEchoServiceApiService EchoDelete method receives a simple message and returns it.
343 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
344 * @param optional nil or *UnannotatedEchoServiceEchoDeleteOpts - Optional Parameters:
345     * @param "Id" (optional.String) -  Id represents the message identifier.
346     * @param "Num" (optional.String) -
347     * @param "Duration" (optional.String) -
348
349@return ExamplepbUnannotatedSimpleMessage
350*/
351
352type UnannotatedEchoServiceEchoDeleteOpts struct {
353	Id optional.String
354	Num optional.String
355	Duration optional.String
356}
357
358func (a *UnannotatedEchoServiceApiService) UnannotatedEchoServiceEchoDelete(ctx context.Context, localVarOptionals *UnannotatedEchoServiceEchoDeleteOpts) (ExamplepbUnannotatedSimpleMessage, *http.Response, error) {
359	var (
360		localVarHttpMethod = strings.ToUpper("Delete")
361		localVarPostBody   interface{}
362		localVarFileName   string
363		localVarFileBytes  []byte
364		localVarReturnValue ExamplepbUnannotatedSimpleMessage
365	)
366
367	// create path and map variables
368	localVarPath := a.client.cfg.BasePath + "/v1/example/echo_delete"
369
370	localVarHeaderParams := make(map[string]string)
371	localVarQueryParams := url.Values{}
372	localVarFormParams := url.Values{}
373
374	if localVarOptionals != nil && localVarOptionals.Id.IsSet() {
375		localVarQueryParams.Add("id", parameterToString(localVarOptionals.Id.Value(), ""))
376	}
377	if localVarOptionals != nil && localVarOptionals.Num.IsSet() {
378		localVarQueryParams.Add("num", parameterToString(localVarOptionals.Num.Value(), ""))
379	}
380	if localVarOptionals != nil && localVarOptionals.Duration.IsSet() {
381		localVarQueryParams.Add("duration", parameterToString(localVarOptionals.Duration.Value(), ""))
382	}
383	// to determine the Content-Type header
384	localVarHttpContentTypes := []string{"application/json"}
385
386	// set Content-Type header
387	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
388	if localVarHttpContentType != "" {
389		localVarHeaderParams["Content-Type"] = localVarHttpContentType
390	}
391
392	// to determine the Accept header
393	localVarHttpHeaderAccepts := []string{"application/json"}
394
395	// set Accept header
396	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
397	if localVarHttpHeaderAccept != "" {
398		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
399	}
400	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
401	if err != nil {
402		return localVarReturnValue, nil, err
403	}
404
405	localVarHttpResponse, err := a.client.callAPI(r)
406	if err != nil || localVarHttpResponse == nil {
407		return localVarReturnValue, localVarHttpResponse, err
408	}
409
410	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
411	localVarHttpResponse.Body.Close()
412	if err != nil {
413		return localVarReturnValue, localVarHttpResponse, err
414	}
415
416	if localVarHttpResponse.StatusCode < 300 {
417		// If we succeed, return the data, otherwise pass on to decode error.
418		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
419		if err == nil {
420			return localVarReturnValue, localVarHttpResponse, err
421		}
422	}
423
424	if localVarHttpResponse.StatusCode >= 300 {
425		newErr := GenericSwaggerError{
426			body: localVarBody,
427			error: localVarHttpResponse.Status,
428		}
429
430		if localVarHttpResponse.StatusCode == 200 {
431			var v ExamplepbUnannotatedSimpleMessage
432			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
433				if err != nil {
434					newErr.error = err.Error()
435					return localVarReturnValue, localVarHttpResponse, newErr
436				}
437				newErr.model = v
438				return localVarReturnValue, localVarHttpResponse, newErr
439		}
440
441		if localVarHttpResponse.StatusCode == 0 {
442			var v RuntimeError
443			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
444				if err != nil {
445					newErr.error = err.Error()
446					return localVarReturnValue, localVarHttpResponse, newErr
447				}
448				newErr.model = v
449				return localVarReturnValue, localVarHttpResponse, newErr
450		}
451
452		return localVarReturnValue, localVarHttpResponse, newErr
453	}
454
455	return localVarReturnValue, localVarHttpResponse, nil
456}
457