github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/clients/abe/api_a_bit_of_everything_service.go (about)

     1  /*
     2   * A Bit of Everything
     3   *
     4   * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
     5   *
     6   * API version: 1.0
     7   * Contact: none@example.com
     8   * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
     9   */
    10  
    11  package abe
    12  
    13  import (
    14  	"context"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  	"fmt"
    20  	"github.com/antihax/optional"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type ABitOfEverythingServiceApiService service
    29  
    30  /* 
    31  ABitOfEverythingServiceApiService
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param value
    34  
    35  @return interface{}
    36  */
    37  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckExternalNestedPathEnum(ctx context.Context, value string) (interface{}, *http.Response, error) {
    38  	var (
    39  		localVarHttpMethod = strings.ToUpper("Get")
    40  		localVarPostBody   interface{}
    41  		localVarFileName   string
    42  		localVarFileBytes  []byte
    43  		localVarReturnValue interface{}
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath + "/v3/{value}:check"
    48  	localVarPath = strings.Replace(localVarPath, "{"+"value"+"}", fmt.Sprintf("%v", value), -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", "application/x-foo-mime"}
    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", "application/x-foo-mime"}
    65  
    66  	// set Accept header
    67  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    68  	if localVarHttpHeaderAccept != "" {
    69  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    70  	}
    71  	if ctx != nil {
    72  		// API Key Authentication
    73  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    74  			var key string
    75  			if auth.Prefix != "" {
    76  				key = auth.Prefix + " " + auth.Key
    77  			} else {
    78  				key = auth.Key
    79  			}
    80  			localVarHeaderParams["X-API-Key"] = key
    81  			
    82  		}
    83  	}
    84  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    85  	if err != nil {
    86  		return localVarReturnValue, nil, err
    87  	}
    88  
    89  	localVarHttpResponse, err := a.client.callAPI(r)
    90  	if err != nil || localVarHttpResponse == nil {
    91  		return localVarReturnValue, localVarHttpResponse, err
    92  	}
    93  
    94  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    95  	localVarHttpResponse.Body.Close()
    96  	if err != nil {
    97  		return localVarReturnValue, localVarHttpResponse, err
    98  	}
    99  
   100  	if localVarHttpResponse.StatusCode < 300 {
   101  		// If we succeed, return the data, otherwise pass on to decode error.
   102  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   103  		if err == nil { 
   104  			return localVarReturnValue, localVarHttpResponse, err
   105  		}
   106  	}
   107  
   108  	if localVarHttpResponse.StatusCode >= 300 {
   109  		newErr := GenericSwaggerError{
   110  			body: localVarBody,
   111  			error: localVarHttpResponse.Status,
   112  		}
   113  		
   114  		if localVarHttpResponse.StatusCode == 200 {
   115  			var v interface{}
   116  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   117  				if err != nil {
   118  					newErr.error = err.Error()
   119  					return localVarReturnValue, localVarHttpResponse, newErr
   120  				}
   121  				newErr.model = v
   122  				return localVarReturnValue, localVarHttpResponse, newErr
   123  		}
   124  		
   125  		if localVarHttpResponse.StatusCode == 403 {
   126  			var v interface{}
   127  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   128  				if err != nil {
   129  					newErr.error = err.Error()
   130  					return localVarReturnValue, localVarHttpResponse, newErr
   131  				}
   132  				newErr.model = v
   133  				return localVarReturnValue, localVarHttpResponse, newErr
   134  		}
   135  		
   136  		if localVarHttpResponse.StatusCode == 404 {
   137  			var v string
   138  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   139  				if err != nil {
   140  					newErr.error = err.Error()
   141  					return localVarReturnValue, localVarHttpResponse, newErr
   142  				}
   143  				newErr.model = v
   144  				return localVarReturnValue, localVarHttpResponse, newErr
   145  		}
   146  		
   147  		if localVarHttpResponse.StatusCode == 418 {
   148  			var v ExamplepbNumericEnum
   149  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   150  				if err != nil {
   151  					newErr.error = err.Error()
   152  					return localVarReturnValue, localVarHttpResponse, newErr
   153  				}
   154  				newErr.model = v
   155  				return localVarReturnValue, localVarHttpResponse, newErr
   156  		}
   157  		
   158  		if localVarHttpResponse.StatusCode == 500 {
   159  			var v ExamplepbErrorResponse
   160  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   161  				if err != nil {
   162  					newErr.error = err.Error()
   163  					return localVarReturnValue, localVarHttpResponse, newErr
   164  				}
   165  				newErr.model = v
   166  				return localVarReturnValue, localVarHttpResponse, newErr
   167  		}
   168  		
   169  		if localVarHttpResponse.StatusCode == 0 {
   170  			var v RpcStatus
   171  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   172  				if err != nil {
   173  					newErr.error = err.Error()
   174  					return localVarReturnValue, localVarHttpResponse, newErr
   175  				}
   176  				newErr.model = v
   177  				return localVarReturnValue, localVarHttpResponse, newErr
   178  		}
   179  		
   180  		return localVarReturnValue, localVarHttpResponse, newErr
   181  	}
   182  
   183  	return localVarReturnValue, localVarHttpResponse, nil
   184  }
   185  
   186  /* 
   187  ABitOfEverythingServiceApiService
   188   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   189   * @param value
   190  
   191  @return interface{}
   192  */
   193  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckExternalPathEnum(ctx context.Context, value string) (interface{}, *http.Response, error) {
   194  	var (
   195  		localVarHttpMethod = strings.ToUpper("Get")
   196  		localVarPostBody   interface{}
   197  		localVarFileName   string
   198  		localVarFileBytes  []byte
   199  		localVarReturnValue interface{}
   200  	)
   201  
   202  	// create path and map variables
   203  	localVarPath := a.client.cfg.BasePath + "/v2/{value}:check"
   204  	localVarPath = strings.Replace(localVarPath, "{"+"value"+"}", fmt.Sprintf("%v", value), -1)
   205  
   206  	localVarHeaderParams := make(map[string]string)
   207  	localVarQueryParams := url.Values{}
   208  	localVarFormParams := url.Values{}
   209  
   210  	// to determine the Content-Type header
   211  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
   212  
   213  	// set Content-Type header
   214  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   215  	if localVarHttpContentType != "" {
   216  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   217  	}
   218  
   219  	// to determine the Accept header
   220  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
   221  
   222  	// set Accept header
   223  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   224  	if localVarHttpHeaderAccept != "" {
   225  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   226  	}
   227  	if ctx != nil {
   228  		// API Key Authentication
   229  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   230  			var key string
   231  			if auth.Prefix != "" {
   232  				key = auth.Prefix + " " + auth.Key
   233  			} else {
   234  				key = auth.Key
   235  			}
   236  			localVarHeaderParams["X-API-Key"] = key
   237  			
   238  		}
   239  	}
   240  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   241  	if err != nil {
   242  		return localVarReturnValue, nil, err
   243  	}
   244  
   245  	localVarHttpResponse, err := a.client.callAPI(r)
   246  	if err != nil || localVarHttpResponse == nil {
   247  		return localVarReturnValue, localVarHttpResponse, err
   248  	}
   249  
   250  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   251  	localVarHttpResponse.Body.Close()
   252  	if err != nil {
   253  		return localVarReturnValue, localVarHttpResponse, err
   254  	}
   255  
   256  	if localVarHttpResponse.StatusCode < 300 {
   257  		// If we succeed, return the data, otherwise pass on to decode error.
   258  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   259  		if err == nil { 
   260  			return localVarReturnValue, localVarHttpResponse, err
   261  		}
   262  	}
   263  
   264  	if localVarHttpResponse.StatusCode >= 300 {
   265  		newErr := GenericSwaggerError{
   266  			body: localVarBody,
   267  			error: localVarHttpResponse.Status,
   268  		}
   269  		
   270  		if localVarHttpResponse.StatusCode == 200 {
   271  			var v interface{}
   272  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   273  				if err != nil {
   274  					newErr.error = err.Error()
   275  					return localVarReturnValue, localVarHttpResponse, newErr
   276  				}
   277  				newErr.model = v
   278  				return localVarReturnValue, localVarHttpResponse, newErr
   279  		}
   280  		
   281  		if localVarHttpResponse.StatusCode == 403 {
   282  			var v interface{}
   283  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   284  				if err != nil {
   285  					newErr.error = err.Error()
   286  					return localVarReturnValue, localVarHttpResponse, newErr
   287  				}
   288  				newErr.model = v
   289  				return localVarReturnValue, localVarHttpResponse, newErr
   290  		}
   291  		
   292  		if localVarHttpResponse.StatusCode == 404 {
   293  			var v string
   294  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   295  				if err != nil {
   296  					newErr.error = err.Error()
   297  					return localVarReturnValue, localVarHttpResponse, newErr
   298  				}
   299  				newErr.model = v
   300  				return localVarReturnValue, localVarHttpResponse, newErr
   301  		}
   302  		
   303  		if localVarHttpResponse.StatusCode == 418 {
   304  			var v ExamplepbNumericEnum
   305  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   306  				if err != nil {
   307  					newErr.error = err.Error()
   308  					return localVarReturnValue, localVarHttpResponse, newErr
   309  				}
   310  				newErr.model = v
   311  				return localVarReturnValue, localVarHttpResponse, newErr
   312  		}
   313  		
   314  		if localVarHttpResponse.StatusCode == 500 {
   315  			var v ExamplepbErrorResponse
   316  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   317  				if err != nil {
   318  					newErr.error = err.Error()
   319  					return localVarReturnValue, localVarHttpResponse, newErr
   320  				}
   321  				newErr.model = v
   322  				return localVarReturnValue, localVarHttpResponse, newErr
   323  		}
   324  		
   325  		if localVarHttpResponse.StatusCode == 0 {
   326  			var v RpcStatus
   327  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   328  				if err != nil {
   329  					newErr.error = err.Error()
   330  					return localVarReturnValue, localVarHttpResponse, newErr
   331  				}
   332  				newErr.model = v
   333  				return localVarReturnValue, localVarHttpResponse, newErr
   334  		}
   335  		
   336  		return localVarReturnValue, localVarHttpResponse, newErr
   337  	}
   338  
   339  	return localVarReturnValue, localVarHttpResponse, nil
   340  }
   341  
   342  /* 
   343  ABitOfEverythingServiceApiService
   344   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   345   * @param singleNestedName name is nested field.
   346   * @param uuid
   347   * @param floatValue Float value field
   348   * @param doubleValue
   349   * @param int64Value
   350   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
   351   * @param requiredStringField1
   352   * @param requiredStringField2
   353   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
   354   * @param requiredFieldSchemaJsonNameCustom
   355   * @param optional nil or *ABitOfEverythingServiceCheckGetQueryParamsOpts - Optional Parameters:
   356       * @param "SingleNestedAmount" (optional.Int64) - 
   357       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
   358       * @param "Uint64Value" (optional.String) - 
   359       * @param "Int32Value" (optional.Int32) - 
   360       * @param "Fixed64Value" (optional.String) - 
   361       * @param "Fixed32Value" (optional.Int64) - 
   362       * @param "BoolValue" (optional.Bool) - 
   363       * @param "StringValue" (optional.String) - 
   364       * @param "BytesValue" (optional.String) - 
   365       * @param "Uint32Value" (optional.Int64) - 
   366       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
   367       * @param "PathEnumValue" (optional.String) - 
   368       * @param "NestedPathEnumValue" (optional.String) - 
   369       * @param "Sfixed32Value" (optional.Int32) - 
   370       * @param "Sfixed64Value" (optional.String) - 
   371       * @param "Sint32Value" (optional.Int32) - 
   372       * @param "Sint64Value" (optional.String) - 
   373       * @param "RepeatedStringValue" (optional.Interface of []string) - 
   374       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
   375       * @param "OneofString" (optional.String) - 
   376       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   377       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   378       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   379       * @param "NonConventionalNameValue" (optional.String) - 
   380       * @param "TimestampValue" (optional.Time) - 
   381       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
   382       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
   383       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
   384       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
   385       * @param "NestedAnnotationAmount" (optional.Int64) - 
   386       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
   387       * @param "Int64OverrideType" (optional.Int64) - 
   388       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
   389       * @param "OptionalStringValue" (optional.String) - 
   390       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
   391       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
   392       * @param "TrailingOnly" (optional.String) -  Trailing only
   393       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
   394       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
   395       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
   396       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
   397  
   398  @return ExamplepbABitOfEverything
   399  */
   400  
   401  type ABitOfEverythingServiceCheckGetQueryParamsOpts struct { 
   402  	SingleNestedAmount optional.Int64
   403  	SingleNestedOk optional.String
   404  	Uint64Value optional.String
   405  	Int32Value optional.Int32
   406  	Fixed64Value optional.String
   407  	Fixed32Value optional.Int64
   408  	BoolValue optional.Bool
   409  	StringValue optional.String
   410  	BytesValue optional.String
   411  	Uint32Value optional.Int64
   412  	EnumValue optional.String
   413  	PathEnumValue optional.String
   414  	NestedPathEnumValue optional.String
   415  	Sfixed32Value optional.Int32
   416  	Sfixed64Value optional.String
   417  	Sint32Value optional.Int32
   418  	Sint64Value optional.String
   419  	RepeatedStringValue optional.Interface
   420  	OneofEmpty optional.Interface
   421  	OneofString optional.String
   422  	MapValue optional.Interface
   423  	MappedStringValue optional.String
   424  	MappedNestedValue optional.Interface
   425  	NonConventionalNameValue optional.String
   426  	TimestampValue optional.Time
   427  	RepeatedEnumValue optional.Interface
   428  	RepeatedEnumAnnotation optional.Interface
   429  	EnumValueAnnotation optional.String
   430  	RepeatedStringAnnotation optional.Interface
   431  	NestedAnnotationAmount optional.Int64
   432  	NestedAnnotationOk optional.String
   433  	Int64OverrideType optional.Int64
   434  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
   435  	OptionalStringValue optional.String
   436  	ProductId optional.Interface
   437  	OptionalStringField optional.String
   438  	TrailingOnly optional.String
   439  	TrailingOnlyDot optional.String
   440  	TrailingBoth optional.String
   441  	TrailingMultiline optional.String
   442  	Uuids optional.Interface
   443  }
   444  
   445  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckGetQueryParams(ctx context.Context, singleNestedName string, uuid string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCheckGetQueryParamsOpts) (ExamplepbABitOfEverything, *http.Response, error) {
   446  	var (
   447  		localVarHttpMethod = strings.ToUpper("Get")
   448  		localVarPostBody   interface{}
   449  		localVarFileName   string
   450  		localVarFileBytes  []byte
   451  		localVarReturnValue ExamplepbABitOfEverything
   452  	)
   453  
   454  	// create path and map variables
   455  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/params/get/{singleNested.name}"
   456  	localVarPath = strings.Replace(localVarPath, "{"+"singleNested.name"+"}", fmt.Sprintf("%v", singleNestedName), -1)
   457  
   458  	localVarHeaderParams := make(map[string]string)
   459  	localVarQueryParams := url.Values{}
   460  	localVarFormParams := url.Values{}
   461  
   462  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
   463  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
   464  	}
   465  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
   466  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
   467  	}
   468  	localVarQueryParams.Add("uuid", parameterToString(uuid, ""))
   469  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
   470  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
   471  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
   472  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
   473  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
   474  	}
   475  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
   476  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
   477  	}
   478  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
   479  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
   480  	}
   481  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
   482  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
   483  	}
   484  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
   485  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
   486  	}
   487  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
   488  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
   489  	}
   490  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
   491  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
   492  	}
   493  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
   494  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
   495  	}
   496  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
   497  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
   498  	}
   499  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
   500  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
   501  	}
   502  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
   503  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
   504  	}
   505  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
   506  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
   507  	}
   508  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
   509  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
   510  	}
   511  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
   512  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
   513  	}
   514  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
   515  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
   516  	}
   517  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
   518  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
   519  	}
   520  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
   521  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
   522  	}
   523  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
   524  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
   525  	}
   526  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
   527  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
   528  	}
   529  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
   530  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
   531  	}
   532  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
   533  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
   534  	}
   535  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
   536  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
   537  	}
   538  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
   539  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
   540  	}
   541  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
   542  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
   543  	}
   544  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
   545  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
   546  	}
   547  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
   548  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
   549  	}
   550  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
   551  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
   552  	}
   553  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
   554  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
   555  	}
   556  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
   557  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
   558  	}
   559  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
   560  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
   561  	}
   562  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
   563  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
   564  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
   565  	}
   566  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
   567  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
   568  	}
   569  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
   570  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
   571  	}
   572  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
   573  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
   574  	}
   575  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
   576  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
   577  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
   578  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
   579  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
   580  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
   581  	}
   582  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
   583  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
   584  	}
   585  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
   586  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
   587  	}
   588  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
   589  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
   590  	}
   591  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
   592  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
   593  	}
   594  	// to determine the Content-Type header
   595  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
   596  
   597  	// set Content-Type header
   598  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   599  	if localVarHttpContentType != "" {
   600  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   601  	}
   602  
   603  	// to determine the Accept header
   604  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
   605  
   606  	// set Accept header
   607  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   608  	if localVarHttpHeaderAccept != "" {
   609  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   610  	}
   611  	if ctx != nil {
   612  		// API Key Authentication
   613  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   614  			var key string
   615  			if auth.Prefix != "" {
   616  				key = auth.Prefix + " " + auth.Key
   617  			} else {
   618  				key = auth.Key
   619  			}
   620  			localVarHeaderParams["X-API-Key"] = key
   621  			
   622  		}
   623  	}
   624  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   625  	if err != nil {
   626  		return localVarReturnValue, nil, err
   627  	}
   628  
   629  	localVarHttpResponse, err := a.client.callAPI(r)
   630  	if err != nil || localVarHttpResponse == nil {
   631  		return localVarReturnValue, localVarHttpResponse, err
   632  	}
   633  
   634  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   635  	localVarHttpResponse.Body.Close()
   636  	if err != nil {
   637  		return localVarReturnValue, localVarHttpResponse, err
   638  	}
   639  
   640  	if localVarHttpResponse.StatusCode < 300 {
   641  		// If we succeed, return the data, otherwise pass on to decode error.
   642  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   643  		if err == nil { 
   644  			return localVarReturnValue, localVarHttpResponse, err
   645  		}
   646  	}
   647  
   648  	if localVarHttpResponse.StatusCode >= 300 {
   649  		newErr := GenericSwaggerError{
   650  			body: localVarBody,
   651  			error: localVarHttpResponse.Status,
   652  		}
   653  		
   654  		if localVarHttpResponse.StatusCode == 200 {
   655  			var v ExamplepbABitOfEverything
   656  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   657  				if err != nil {
   658  					newErr.error = err.Error()
   659  					return localVarReturnValue, localVarHttpResponse, newErr
   660  				}
   661  				newErr.model = v
   662  				return localVarReturnValue, localVarHttpResponse, newErr
   663  		}
   664  		
   665  		if localVarHttpResponse.StatusCode == 403 {
   666  			var v interface{}
   667  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   668  				if err != nil {
   669  					newErr.error = err.Error()
   670  					return localVarReturnValue, localVarHttpResponse, newErr
   671  				}
   672  				newErr.model = v
   673  				return localVarReturnValue, localVarHttpResponse, newErr
   674  		}
   675  		
   676  		if localVarHttpResponse.StatusCode == 404 {
   677  			var v string
   678  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   679  				if err != nil {
   680  					newErr.error = err.Error()
   681  					return localVarReturnValue, localVarHttpResponse, newErr
   682  				}
   683  				newErr.model = v
   684  				return localVarReturnValue, localVarHttpResponse, newErr
   685  		}
   686  		
   687  		if localVarHttpResponse.StatusCode == 418 {
   688  			var v ExamplepbNumericEnum
   689  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   690  				if err != nil {
   691  					newErr.error = err.Error()
   692  					return localVarReturnValue, localVarHttpResponse, newErr
   693  				}
   694  				newErr.model = v
   695  				return localVarReturnValue, localVarHttpResponse, newErr
   696  		}
   697  		
   698  		if localVarHttpResponse.StatusCode == 500 {
   699  			var v ExamplepbErrorResponse
   700  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   701  				if err != nil {
   702  					newErr.error = err.Error()
   703  					return localVarReturnValue, localVarHttpResponse, newErr
   704  				}
   705  				newErr.model = v
   706  				return localVarReturnValue, localVarHttpResponse, newErr
   707  		}
   708  		
   709  		if localVarHttpResponse.StatusCode == 0 {
   710  			var v RpcStatus
   711  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
   712  				if err != nil {
   713  					newErr.error = err.Error()
   714  					return localVarReturnValue, localVarHttpResponse, newErr
   715  				}
   716  				newErr.model = v
   717  				return localVarReturnValue, localVarHttpResponse, newErr
   718  		}
   719  		
   720  		return localVarReturnValue, localVarHttpResponse, newErr
   721  	}
   722  
   723  	return localVarReturnValue, localVarHttpResponse, nil
   724  }
   725  
   726  /* 
   727  ABitOfEverythingServiceApiService
   728   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   729   * @param singleNestedOk DeepEnum description.
   730   * @param uuid
   731   * @param floatValue Float value field
   732   * @param doubleValue
   733   * @param int64Value
   734   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
   735   * @param requiredStringField1
   736   * @param requiredStringField2
   737   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
   738   * @param requiredFieldSchemaJsonNameCustom
   739   * @param optional nil or *ABitOfEverythingServiceCheckNestedEnumGetQueryParamsOpts - Optional Parameters:
   740       * @param "SingleNestedName" (optional.String) -  name is nested field.
   741       * @param "SingleNestedAmount" (optional.Int64) - 
   742       * @param "Uint64Value" (optional.String) - 
   743       * @param "Int32Value" (optional.Int32) - 
   744       * @param "Fixed64Value" (optional.String) - 
   745       * @param "Fixed32Value" (optional.Int64) - 
   746       * @param "BoolValue" (optional.Bool) - 
   747       * @param "StringValue" (optional.String) - 
   748       * @param "BytesValue" (optional.String) - 
   749       * @param "Uint32Value" (optional.Int64) - 
   750       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
   751       * @param "PathEnumValue" (optional.String) - 
   752       * @param "NestedPathEnumValue" (optional.String) - 
   753       * @param "Sfixed32Value" (optional.Int32) - 
   754       * @param "Sfixed64Value" (optional.String) - 
   755       * @param "Sint32Value" (optional.Int32) - 
   756       * @param "Sint64Value" (optional.String) - 
   757       * @param "RepeatedStringValue" (optional.Interface of []string) - 
   758       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
   759       * @param "OneofString" (optional.String) - 
   760       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   761       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   762       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
   763       * @param "NonConventionalNameValue" (optional.String) - 
   764       * @param "TimestampValue" (optional.Time) - 
   765       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
   766       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
   767       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
   768       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
   769       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
   770       * @param "NestedAnnotationAmount" (optional.Int64) - 
   771       * @param "Int64OverrideType" (optional.Int64) - 
   772       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
   773       * @param "OptionalStringValue" (optional.String) - 
   774       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
   775       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
   776       * @param "TrailingOnly" (optional.String) -  Trailing only
   777       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
   778       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
   779       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
   780       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
   781  
   782  @return ExamplepbABitOfEverything
   783  */
   784  
   785  type ABitOfEverythingServiceCheckNestedEnumGetQueryParamsOpts struct { 
   786  	SingleNestedName optional.String
   787  	SingleNestedAmount optional.Int64
   788  	Uint64Value optional.String
   789  	Int32Value optional.Int32
   790  	Fixed64Value optional.String
   791  	Fixed32Value optional.Int64
   792  	BoolValue optional.Bool
   793  	StringValue optional.String
   794  	BytesValue optional.String
   795  	Uint32Value optional.Int64
   796  	EnumValue optional.String
   797  	PathEnumValue optional.String
   798  	NestedPathEnumValue optional.String
   799  	Sfixed32Value optional.Int32
   800  	Sfixed64Value optional.String
   801  	Sint32Value optional.Int32
   802  	Sint64Value optional.String
   803  	RepeatedStringValue optional.Interface
   804  	OneofEmpty optional.Interface
   805  	OneofString optional.String
   806  	MapValue optional.Interface
   807  	MappedStringValue optional.String
   808  	MappedNestedValue optional.Interface
   809  	NonConventionalNameValue optional.String
   810  	TimestampValue optional.Time
   811  	RepeatedEnumValue optional.Interface
   812  	RepeatedEnumAnnotation optional.Interface
   813  	EnumValueAnnotation optional.String
   814  	RepeatedStringAnnotation optional.Interface
   815  	NestedAnnotationName optional.String
   816  	NestedAnnotationAmount optional.Int64
   817  	Int64OverrideType optional.Int64
   818  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
   819  	OptionalStringValue optional.String
   820  	ProductId optional.Interface
   821  	OptionalStringField optional.String
   822  	TrailingOnly optional.String
   823  	TrailingOnlyDot optional.String
   824  	TrailingBoth optional.String
   825  	TrailingMultiline optional.String
   826  	Uuids optional.Interface
   827  }
   828  
   829  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckNestedEnumGetQueryParams(ctx context.Context, singleNestedOk string, uuid string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCheckNestedEnumGetQueryParamsOpts) (ExamplepbABitOfEverything, *http.Response, error) {
   830  	var (
   831  		localVarHttpMethod = strings.ToUpper("Get")
   832  		localVarPostBody   interface{}
   833  		localVarFileName   string
   834  		localVarFileBytes  []byte
   835  		localVarReturnValue ExamplepbABitOfEverything
   836  	)
   837  
   838  	// create path and map variables
   839  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/params/get/nested_enum/{singleNested.ok}"
   840  	localVarPath = strings.Replace(localVarPath, "{"+"singleNested.ok"+"}", fmt.Sprintf("%v", singleNestedOk), -1)
   841  
   842  	localVarHeaderParams := make(map[string]string)
   843  	localVarQueryParams := url.Values{}
   844  	localVarFormParams := url.Values{}
   845  
   846  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
   847  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
   848  	}
   849  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
   850  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
   851  	}
   852  	localVarQueryParams.Add("uuid", parameterToString(uuid, ""))
   853  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
   854  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
   855  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
   856  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
   857  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
   858  	}
   859  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
   860  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
   861  	}
   862  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
   863  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
   864  	}
   865  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
   866  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
   867  	}
   868  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
   869  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
   870  	}
   871  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
   872  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
   873  	}
   874  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
   875  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
   876  	}
   877  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
   878  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
   879  	}
   880  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
   881  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
   882  	}
   883  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
   884  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
   885  	}
   886  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
   887  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
   888  	}
   889  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
   890  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
   891  	}
   892  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
   893  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
   894  	}
   895  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
   896  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
   897  	}
   898  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
   899  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
   900  	}
   901  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
   902  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
   903  	}
   904  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
   905  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
   906  	}
   907  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
   908  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
   909  	}
   910  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
   911  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
   912  	}
   913  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
   914  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
   915  	}
   916  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
   917  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
   918  	}
   919  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
   920  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
   921  	}
   922  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
   923  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
   924  	}
   925  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
   926  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
   927  	}
   928  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
   929  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
   930  	}
   931  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
   932  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
   933  	}
   934  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
   935  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
   936  	}
   937  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
   938  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
   939  	}
   940  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
   941  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
   942  	}
   943  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
   944  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
   945  	}
   946  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
   947  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
   948  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
   949  	}
   950  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
   951  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
   952  	}
   953  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
   954  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
   955  	}
   956  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
   957  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
   958  	}
   959  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
   960  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
   961  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
   962  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
   963  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
   964  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
   965  	}
   966  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
   967  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
   968  	}
   969  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
   970  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
   971  	}
   972  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
   973  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
   974  	}
   975  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
   976  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
   977  	}
   978  	// to determine the Content-Type header
   979  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
   980  
   981  	// set Content-Type header
   982  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   983  	if localVarHttpContentType != "" {
   984  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   985  	}
   986  
   987  	// to determine the Accept header
   988  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
   989  
   990  	// set Accept header
   991  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   992  	if localVarHttpHeaderAccept != "" {
   993  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   994  	}
   995  	if ctx != nil {
   996  		// API Key Authentication
   997  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   998  			var key string
   999  			if auth.Prefix != "" {
  1000  				key = auth.Prefix + " " + auth.Key
  1001  			} else {
  1002  				key = auth.Key
  1003  			}
  1004  			localVarHeaderParams["X-API-Key"] = key
  1005  			
  1006  		}
  1007  	}
  1008  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1009  	if err != nil {
  1010  		return localVarReturnValue, nil, err
  1011  	}
  1012  
  1013  	localVarHttpResponse, err := a.client.callAPI(r)
  1014  	if err != nil || localVarHttpResponse == nil {
  1015  		return localVarReturnValue, localVarHttpResponse, err
  1016  	}
  1017  
  1018  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1019  	localVarHttpResponse.Body.Close()
  1020  	if err != nil {
  1021  		return localVarReturnValue, localVarHttpResponse, err
  1022  	}
  1023  
  1024  	if localVarHttpResponse.StatusCode < 300 {
  1025  		// If we succeed, return the data, otherwise pass on to decode error.
  1026  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1027  		if err == nil { 
  1028  			return localVarReturnValue, localVarHttpResponse, err
  1029  		}
  1030  	}
  1031  
  1032  	if localVarHttpResponse.StatusCode >= 300 {
  1033  		newErr := GenericSwaggerError{
  1034  			body: localVarBody,
  1035  			error: localVarHttpResponse.Status,
  1036  		}
  1037  		
  1038  		if localVarHttpResponse.StatusCode == 200 {
  1039  			var v ExamplepbABitOfEverything
  1040  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1041  				if err != nil {
  1042  					newErr.error = err.Error()
  1043  					return localVarReturnValue, localVarHttpResponse, newErr
  1044  				}
  1045  				newErr.model = v
  1046  				return localVarReturnValue, localVarHttpResponse, newErr
  1047  		}
  1048  		
  1049  		if localVarHttpResponse.StatusCode == 403 {
  1050  			var v interface{}
  1051  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1052  				if err != nil {
  1053  					newErr.error = err.Error()
  1054  					return localVarReturnValue, localVarHttpResponse, newErr
  1055  				}
  1056  				newErr.model = v
  1057  				return localVarReturnValue, localVarHttpResponse, newErr
  1058  		}
  1059  		
  1060  		if localVarHttpResponse.StatusCode == 404 {
  1061  			var v string
  1062  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1063  				if err != nil {
  1064  					newErr.error = err.Error()
  1065  					return localVarReturnValue, localVarHttpResponse, newErr
  1066  				}
  1067  				newErr.model = v
  1068  				return localVarReturnValue, localVarHttpResponse, newErr
  1069  		}
  1070  		
  1071  		if localVarHttpResponse.StatusCode == 418 {
  1072  			var v ExamplepbNumericEnum
  1073  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1074  				if err != nil {
  1075  					newErr.error = err.Error()
  1076  					return localVarReturnValue, localVarHttpResponse, newErr
  1077  				}
  1078  				newErr.model = v
  1079  				return localVarReturnValue, localVarHttpResponse, newErr
  1080  		}
  1081  		
  1082  		if localVarHttpResponse.StatusCode == 500 {
  1083  			var v ExamplepbErrorResponse
  1084  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1085  				if err != nil {
  1086  					newErr.error = err.Error()
  1087  					return localVarReturnValue, localVarHttpResponse, newErr
  1088  				}
  1089  				newErr.model = v
  1090  				return localVarReturnValue, localVarHttpResponse, newErr
  1091  		}
  1092  		
  1093  		if localVarHttpResponse.StatusCode == 0 {
  1094  			var v RpcStatus
  1095  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1096  				if err != nil {
  1097  					newErr.error = err.Error()
  1098  					return localVarReturnValue, localVarHttpResponse, newErr
  1099  				}
  1100  				newErr.model = v
  1101  				return localVarReturnValue, localVarHttpResponse, newErr
  1102  		}
  1103  		
  1104  		return localVarReturnValue, localVarHttpResponse, newErr
  1105  	}
  1106  
  1107  	return localVarReturnValue, localVarHttpResponse, nil
  1108  }
  1109  
  1110  /* 
  1111  ABitOfEverythingServiceApiService
  1112   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1113   * @param stringValue
  1114   * @param singleNested
  1115   * @param uuid
  1116   * @param floatValue Float value field
  1117   * @param doubleValue
  1118   * @param int64Value
  1119   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  1120   * @param requiredStringField1
  1121   * @param requiredStringField2
  1122   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  1123   * @param requiredFieldSchemaJsonNameCustom
  1124   * @param optional nil or *ABitOfEverythingServiceCheckPostQueryParamsOpts - Optional Parameters:
  1125       * @param "Uint64Value" (optional.String) - 
  1126       * @param "Int32Value" (optional.Int32) - 
  1127       * @param "Fixed64Value" (optional.String) - 
  1128       * @param "Fixed32Value" (optional.Int64) - 
  1129       * @param "BoolValue" (optional.Bool) - 
  1130       * @param "BytesValue" (optional.String) - 
  1131       * @param "Uint32Value" (optional.Int64) - 
  1132       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
  1133       * @param "PathEnumValue" (optional.String) - 
  1134       * @param "NestedPathEnumValue" (optional.String) - 
  1135       * @param "Sfixed32Value" (optional.Int32) - 
  1136       * @param "Sfixed64Value" (optional.String) - 
  1137       * @param "Sint32Value" (optional.Int32) - 
  1138       * @param "Sint64Value" (optional.String) - 
  1139       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  1140       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  1141       * @param "OneofString" (optional.String) - 
  1142       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1143       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1144       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1145       * @param "NonConventionalNameValue" (optional.String) - 
  1146       * @param "TimestampValue" (optional.Time) - 
  1147       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  1148       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  1149       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  1150       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  1151       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  1152       * @param "NestedAnnotationAmount" (optional.Int64) - 
  1153       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  1154       * @param "Int64OverrideType" (optional.Int64) - 
  1155       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  1156       * @param "OptionalStringValue" (optional.String) - 
  1157       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  1158       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  1159       * @param "TrailingOnly" (optional.String) -  Trailing only
  1160       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  1161       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  1162       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  1163       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  1164  
  1165  @return ExamplepbABitOfEverything
  1166  */
  1167  
  1168  type ABitOfEverythingServiceCheckPostQueryParamsOpts struct { 
  1169  	Uint64Value optional.String
  1170  	Int32Value optional.Int32
  1171  	Fixed64Value optional.String
  1172  	Fixed32Value optional.Int64
  1173  	BoolValue optional.Bool
  1174  	BytesValue optional.String
  1175  	Uint32Value optional.Int64
  1176  	EnumValue optional.String
  1177  	PathEnumValue optional.String
  1178  	NestedPathEnumValue optional.String
  1179  	Sfixed32Value optional.Int32
  1180  	Sfixed64Value optional.String
  1181  	Sint32Value optional.Int32
  1182  	Sint64Value optional.String
  1183  	RepeatedStringValue optional.Interface
  1184  	OneofEmpty optional.Interface
  1185  	OneofString optional.String
  1186  	MapValue optional.Interface
  1187  	MappedStringValue optional.String
  1188  	MappedNestedValue optional.Interface
  1189  	NonConventionalNameValue optional.String
  1190  	TimestampValue optional.Time
  1191  	RepeatedEnumValue optional.Interface
  1192  	RepeatedEnumAnnotation optional.Interface
  1193  	EnumValueAnnotation optional.String
  1194  	RepeatedStringAnnotation optional.Interface
  1195  	NestedAnnotationName optional.String
  1196  	NestedAnnotationAmount optional.Int64
  1197  	NestedAnnotationOk optional.String
  1198  	Int64OverrideType optional.Int64
  1199  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  1200  	OptionalStringValue optional.String
  1201  	ProductId optional.Interface
  1202  	OptionalStringField optional.String
  1203  	TrailingOnly optional.String
  1204  	TrailingOnlyDot optional.String
  1205  	TrailingBoth optional.String
  1206  	TrailingMultiline optional.String
  1207  	Uuids optional.Interface
  1208  }
  1209  
  1210  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckPostQueryParams(ctx context.Context, stringValue string, singleNested ABitOfEverythingNested, uuid string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCheckPostQueryParamsOpts) (ExamplepbABitOfEverything, *http.Response, error) {
  1211  	var (
  1212  		localVarHttpMethod = strings.ToUpper("Post")
  1213  		localVarPostBody   interface{}
  1214  		localVarFileName   string
  1215  		localVarFileBytes  []byte
  1216  		localVarReturnValue ExamplepbABitOfEverything
  1217  	)
  1218  
  1219  	// create path and map variables
  1220  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/params/post/{stringValue}"
  1221  	localVarPath = strings.Replace(localVarPath, "{"+"stringValue"+"}", fmt.Sprintf("%v", stringValue), -1)
  1222  
  1223  	localVarHeaderParams := make(map[string]string)
  1224  	localVarQueryParams := url.Values{}
  1225  	localVarFormParams := url.Values{}
  1226  
  1227  	localVarQueryParams.Add("uuid", parameterToString(uuid, ""))
  1228  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
  1229  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
  1230  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
  1231  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
  1232  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
  1233  	}
  1234  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
  1235  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
  1236  	}
  1237  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
  1238  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
  1239  	}
  1240  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
  1241  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
  1242  	}
  1243  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
  1244  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
  1245  	}
  1246  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  1247  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  1248  	}
  1249  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
  1250  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
  1251  	}
  1252  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
  1253  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
  1254  	}
  1255  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
  1256  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
  1257  	}
  1258  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
  1259  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
  1260  	}
  1261  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
  1262  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
  1263  	}
  1264  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
  1265  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
  1266  	}
  1267  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
  1268  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
  1269  	}
  1270  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
  1271  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
  1272  	}
  1273  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  1274  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  1275  	}
  1276  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  1277  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  1278  	}
  1279  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  1280  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  1281  	}
  1282  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  1283  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  1284  	}
  1285  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  1286  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  1287  	}
  1288  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  1289  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  1290  	}
  1291  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
  1292  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
  1293  	}
  1294  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  1295  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  1296  	}
  1297  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  1298  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  1299  	}
  1300  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  1301  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  1302  	}
  1303  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
  1304  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
  1305  	}
  1306  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  1307  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  1308  	}
  1309  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  1310  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  1311  	}
  1312  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  1313  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  1314  	}
  1315  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  1316  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  1317  	}
  1318  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  1319  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  1320  	}
  1321  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  1322  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  1323  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  1324  	}
  1325  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  1326  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  1327  	}
  1328  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  1329  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  1330  	}
  1331  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  1332  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  1333  	}
  1334  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  1335  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  1336  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  1337  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  1338  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  1339  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  1340  	}
  1341  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  1342  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  1343  	}
  1344  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  1345  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  1346  	}
  1347  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  1348  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  1349  	}
  1350  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  1351  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  1352  	}
  1353  	// to determine the Content-Type header
  1354  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  1355  
  1356  	// set Content-Type header
  1357  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1358  	if localVarHttpContentType != "" {
  1359  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1360  	}
  1361  
  1362  	// to determine the Accept header
  1363  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  1364  
  1365  	// set Accept header
  1366  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1367  	if localVarHttpHeaderAccept != "" {
  1368  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1369  	}
  1370  	// body params
  1371  	localVarPostBody = &singleNested
  1372  	if ctx != nil {
  1373  		// API Key Authentication
  1374  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1375  			var key string
  1376  			if auth.Prefix != "" {
  1377  				key = auth.Prefix + " " + auth.Key
  1378  			} else {
  1379  				key = auth.Key
  1380  			}
  1381  			localVarHeaderParams["X-API-Key"] = key
  1382  			
  1383  		}
  1384  	}
  1385  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1386  	if err != nil {
  1387  		return localVarReturnValue, nil, err
  1388  	}
  1389  
  1390  	localVarHttpResponse, err := a.client.callAPI(r)
  1391  	if err != nil || localVarHttpResponse == nil {
  1392  		return localVarReturnValue, localVarHttpResponse, err
  1393  	}
  1394  
  1395  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1396  	localVarHttpResponse.Body.Close()
  1397  	if err != nil {
  1398  		return localVarReturnValue, localVarHttpResponse, err
  1399  	}
  1400  
  1401  	if localVarHttpResponse.StatusCode < 300 {
  1402  		// If we succeed, return the data, otherwise pass on to decode error.
  1403  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1404  		if err == nil { 
  1405  			return localVarReturnValue, localVarHttpResponse, err
  1406  		}
  1407  	}
  1408  
  1409  	if localVarHttpResponse.StatusCode >= 300 {
  1410  		newErr := GenericSwaggerError{
  1411  			body: localVarBody,
  1412  			error: localVarHttpResponse.Status,
  1413  		}
  1414  		
  1415  		if localVarHttpResponse.StatusCode == 200 {
  1416  			var v ExamplepbABitOfEverything
  1417  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1418  				if err != nil {
  1419  					newErr.error = err.Error()
  1420  					return localVarReturnValue, localVarHttpResponse, newErr
  1421  				}
  1422  				newErr.model = v
  1423  				return localVarReturnValue, localVarHttpResponse, newErr
  1424  		}
  1425  		
  1426  		if localVarHttpResponse.StatusCode == 403 {
  1427  			var v interface{}
  1428  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1429  				if err != nil {
  1430  					newErr.error = err.Error()
  1431  					return localVarReturnValue, localVarHttpResponse, newErr
  1432  				}
  1433  				newErr.model = v
  1434  				return localVarReturnValue, localVarHttpResponse, newErr
  1435  		}
  1436  		
  1437  		if localVarHttpResponse.StatusCode == 404 {
  1438  			var v string
  1439  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1440  				if err != nil {
  1441  					newErr.error = err.Error()
  1442  					return localVarReturnValue, localVarHttpResponse, newErr
  1443  				}
  1444  				newErr.model = v
  1445  				return localVarReturnValue, localVarHttpResponse, newErr
  1446  		}
  1447  		
  1448  		if localVarHttpResponse.StatusCode == 418 {
  1449  			var v ExamplepbNumericEnum
  1450  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1451  				if err != nil {
  1452  					newErr.error = err.Error()
  1453  					return localVarReturnValue, localVarHttpResponse, newErr
  1454  				}
  1455  				newErr.model = v
  1456  				return localVarReturnValue, localVarHttpResponse, newErr
  1457  		}
  1458  		
  1459  		if localVarHttpResponse.StatusCode == 500 {
  1460  			var v ExamplepbErrorResponse
  1461  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1462  				if err != nil {
  1463  					newErr.error = err.Error()
  1464  					return localVarReturnValue, localVarHttpResponse, newErr
  1465  				}
  1466  				newErr.model = v
  1467  				return localVarReturnValue, localVarHttpResponse, newErr
  1468  		}
  1469  		
  1470  		if localVarHttpResponse.StatusCode == 0 {
  1471  			var v RpcStatus
  1472  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1473  				if err != nil {
  1474  					newErr.error = err.Error()
  1475  					return localVarReturnValue, localVarHttpResponse, newErr
  1476  				}
  1477  				newErr.model = v
  1478  				return localVarReturnValue, localVarHttpResponse, newErr
  1479  		}
  1480  		
  1481  		return localVarReturnValue, localVarHttpResponse, newErr
  1482  	}
  1483  
  1484  	return localVarReturnValue, localVarHttpResponse, nil
  1485  }
  1486  
  1487  /* 
  1488  ABitOfEverythingServiceApiService
  1489   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1490  
  1491  @return ExamplepbCheckStatusResponse
  1492  */
  1493  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCheckStatus(ctx context.Context) (ExamplepbCheckStatusResponse, *http.Response, error) {
  1494  	var (
  1495  		localVarHttpMethod = strings.ToUpper("Get")
  1496  		localVarPostBody   interface{}
  1497  		localVarFileName   string
  1498  		localVarFileBytes  []byte
  1499  		localVarReturnValue ExamplepbCheckStatusResponse
  1500  	)
  1501  
  1502  	// create path and map variables
  1503  	localVarPath := a.client.cfg.BasePath + "/v1/example/checkStatus"
  1504  
  1505  	localVarHeaderParams := make(map[string]string)
  1506  	localVarQueryParams := url.Values{}
  1507  	localVarFormParams := url.Values{}
  1508  
  1509  	// to determine the Content-Type header
  1510  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  1511  
  1512  	// set Content-Type header
  1513  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1514  	if localVarHttpContentType != "" {
  1515  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1516  	}
  1517  
  1518  	// to determine the Accept header
  1519  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  1520  
  1521  	// set Accept header
  1522  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1523  	if localVarHttpHeaderAccept != "" {
  1524  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1525  	}
  1526  	if ctx != nil {
  1527  		// API Key Authentication
  1528  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1529  			var key string
  1530  			if auth.Prefix != "" {
  1531  				key = auth.Prefix + " " + auth.Key
  1532  			} else {
  1533  				key = auth.Key
  1534  			}
  1535  			localVarHeaderParams["X-API-Key"] = key
  1536  			
  1537  		}
  1538  	}
  1539  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1540  	if err != nil {
  1541  		return localVarReturnValue, nil, err
  1542  	}
  1543  
  1544  	localVarHttpResponse, err := a.client.callAPI(r)
  1545  	if err != nil || localVarHttpResponse == nil {
  1546  		return localVarReturnValue, localVarHttpResponse, err
  1547  	}
  1548  
  1549  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1550  	localVarHttpResponse.Body.Close()
  1551  	if err != nil {
  1552  		return localVarReturnValue, localVarHttpResponse, err
  1553  	}
  1554  
  1555  	if localVarHttpResponse.StatusCode < 300 {
  1556  		// If we succeed, return the data, otherwise pass on to decode error.
  1557  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1558  		if err == nil { 
  1559  			return localVarReturnValue, localVarHttpResponse, err
  1560  		}
  1561  	}
  1562  
  1563  	if localVarHttpResponse.StatusCode >= 300 {
  1564  		newErr := GenericSwaggerError{
  1565  			body: localVarBody,
  1566  			error: localVarHttpResponse.Status,
  1567  		}
  1568  		
  1569  		if localVarHttpResponse.StatusCode == 200 {
  1570  			var v ExamplepbCheckStatusResponse
  1571  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1572  				if err != nil {
  1573  					newErr.error = err.Error()
  1574  					return localVarReturnValue, localVarHttpResponse, newErr
  1575  				}
  1576  				newErr.model = v
  1577  				return localVarReturnValue, localVarHttpResponse, newErr
  1578  		}
  1579  		
  1580  		if localVarHttpResponse.StatusCode == 403 {
  1581  			var v interface{}
  1582  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1583  				if err != nil {
  1584  					newErr.error = err.Error()
  1585  					return localVarReturnValue, localVarHttpResponse, newErr
  1586  				}
  1587  				newErr.model = v
  1588  				return localVarReturnValue, localVarHttpResponse, newErr
  1589  		}
  1590  		
  1591  		if localVarHttpResponse.StatusCode == 404 {
  1592  			var v string
  1593  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1594  				if err != nil {
  1595  					newErr.error = err.Error()
  1596  					return localVarReturnValue, localVarHttpResponse, newErr
  1597  				}
  1598  				newErr.model = v
  1599  				return localVarReturnValue, localVarHttpResponse, newErr
  1600  		}
  1601  		
  1602  		if localVarHttpResponse.StatusCode == 418 {
  1603  			var v ExamplepbNumericEnum
  1604  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1605  				if err != nil {
  1606  					newErr.error = err.Error()
  1607  					return localVarReturnValue, localVarHttpResponse, newErr
  1608  				}
  1609  				newErr.model = v
  1610  				return localVarReturnValue, localVarHttpResponse, newErr
  1611  		}
  1612  		
  1613  		if localVarHttpResponse.StatusCode == 500 {
  1614  			var v ExamplepbErrorResponse
  1615  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1616  				if err != nil {
  1617  					newErr.error = err.Error()
  1618  					return localVarReturnValue, localVarHttpResponse, newErr
  1619  				}
  1620  				newErr.model = v
  1621  				return localVarReturnValue, localVarHttpResponse, newErr
  1622  		}
  1623  		
  1624  		if localVarHttpResponse.StatusCode == 0 {
  1625  			var v RpcStatus
  1626  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1627  				if err != nil {
  1628  					newErr.error = err.Error()
  1629  					return localVarReturnValue, localVarHttpResponse, newErr
  1630  				}
  1631  				newErr.model = v
  1632  				return localVarReturnValue, localVarHttpResponse, newErr
  1633  		}
  1634  		
  1635  		return localVarReturnValue, localVarHttpResponse, newErr
  1636  	}
  1637  
  1638  	return localVarReturnValue, localVarHttpResponse, nil
  1639  }
  1640  
  1641  /* 
  1642  ABitOfEverythingServiceApiService Create a new ABitOfEverything
  1643  This API creates a new ABitOfEverything
  1644   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1645   * @param floatValue Float value field
  1646   * @param doubleValue
  1647   * @param int64Value
  1648   * @param uint64Value
  1649   * @param int32Value
  1650   * @param fixed64Value
  1651   * @param fixed32Value
  1652   * @param boolValue
  1653   * @param stringValue
  1654   * @param uint32Value
  1655   * @param sfixed32Value
  1656   * @param sfixed64Value
  1657   * @param sint32Value
  1658   * @param sint64Value
  1659   * @param nonConventionalNameValue
  1660   * @param enumValue
  1661   * @param pathEnumValue
  1662   * @param nestedPathEnumValue
  1663   * @param enumValueAnnotation Numeric enum description.
  1664   * @param uuid
  1665   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  1666   * @param requiredStringField1
  1667   * @param requiredStringField2
  1668   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  1669   * @param requiredFieldSchemaJsonNameCustom
  1670   * @param optional nil or *ABitOfEverythingServiceCreateOpts - Optional Parameters:
  1671       * @param "SingleNestedName" (optional.String) -  name is nested field.
  1672       * @param "SingleNestedAmount" (optional.Int64) - 
  1673       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  1674       * @param "BytesValue" (optional.String) - 
  1675       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  1676       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  1677       * @param "OneofString" (optional.String) - 
  1678       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1679       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1680       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  1681       * @param "TimestampValue" (optional.Time) - 
  1682       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  1683       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  1684       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  1685       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  1686       * @param "NestedAnnotationAmount" (optional.Int64) - 
  1687       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  1688       * @param "Int64OverrideType" (optional.Int64) - 
  1689       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  1690       * @param "OptionalStringValue" (optional.String) - 
  1691       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  1692       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  1693       * @param "TrailingOnly" (optional.String) -  Trailing only
  1694       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  1695       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  1696       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  1697       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  1698  
  1699  @return ExamplepbABitOfEverything
  1700  */
  1701  
  1702  type ABitOfEverythingServiceCreateOpts struct { 
  1703  	SingleNestedName optional.String
  1704  	SingleNestedAmount optional.Int64
  1705  	SingleNestedOk optional.String
  1706  	BytesValue optional.String
  1707  	RepeatedStringValue optional.Interface
  1708  	OneofEmpty optional.Interface
  1709  	OneofString optional.String
  1710  	MapValue optional.Interface
  1711  	MappedStringValue optional.String
  1712  	MappedNestedValue optional.Interface
  1713  	TimestampValue optional.Time
  1714  	RepeatedEnumValue optional.Interface
  1715  	RepeatedEnumAnnotation optional.Interface
  1716  	RepeatedStringAnnotation optional.Interface
  1717  	NestedAnnotationName optional.String
  1718  	NestedAnnotationAmount optional.Int64
  1719  	NestedAnnotationOk optional.String
  1720  	Int64OverrideType optional.Int64
  1721  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  1722  	OptionalStringValue optional.String
  1723  	ProductId optional.Interface
  1724  	OptionalStringField optional.String
  1725  	TrailingOnly optional.String
  1726  	TrailingOnlyDot optional.String
  1727  	TrailingBoth optional.String
  1728  	TrailingMultiline optional.String
  1729  	Uuids optional.Interface
  1730  }
  1731  
  1732  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCreate(ctx context.Context, floatValue float32, doubleValue float64, int64Value string, uint64Value string, int32Value int32, fixed64Value string, fixed32Value int64, boolValue bool, stringValue string, uint32Value int64, sfixed32Value int32, sfixed64Value string, sint32Value int32, sint64Value string, nonConventionalNameValue string, enumValue string, pathEnumValue string, nestedPathEnumValue string, enumValueAnnotation string, uuid string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCreateOpts) (ExamplepbABitOfEverything, *http.Response, error) {
  1733  	var (
  1734  		localVarHttpMethod = strings.ToUpper("Post")
  1735  		localVarPostBody   interface{}
  1736  		localVarFileName   string
  1737  		localVarFileBytes  []byte
  1738  		localVarReturnValue ExamplepbABitOfEverything
  1739  	)
  1740  
  1741  	// create path and map variables
  1742  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{floatValue}/{doubleValue}/{int64Value}/separator/{uint64Value}/{int32Value}/{fixed64Value}/{fixed32Value}/{boolValue}/{stringValue}/{uint32Value}/{sfixed32Value}/{sfixed64Value}/{sint32Value}/{sint64Value}/{nonConventionalNameValue}/{enumValue}/{pathEnumValue}/{nestedPathEnumValue}/{enumValueAnnotation}"
  1743  	localVarPath = strings.Replace(localVarPath, "{"+"floatValue"+"}", fmt.Sprintf("%v", floatValue), -1)
  1744  	localVarPath = strings.Replace(localVarPath, "{"+"doubleValue"+"}", fmt.Sprintf("%v", doubleValue), -1)
  1745  	localVarPath = strings.Replace(localVarPath, "{"+"int64Value"+"}", fmt.Sprintf("%v", int64Value), -1)
  1746  	localVarPath = strings.Replace(localVarPath, "{"+"uint64Value"+"}", fmt.Sprintf("%v", uint64Value), -1)
  1747  	localVarPath = strings.Replace(localVarPath, "{"+"int32Value"+"}", fmt.Sprintf("%v", int32Value), -1)
  1748  	localVarPath = strings.Replace(localVarPath, "{"+"fixed64Value"+"}", fmt.Sprintf("%v", fixed64Value), -1)
  1749  	localVarPath = strings.Replace(localVarPath, "{"+"fixed32Value"+"}", fmt.Sprintf("%v", fixed32Value), -1)
  1750  	localVarPath = strings.Replace(localVarPath, "{"+"boolValue"+"}", fmt.Sprintf("%v", boolValue), -1)
  1751  	localVarPath = strings.Replace(localVarPath, "{"+"stringValue"+"}", fmt.Sprintf("%v", stringValue), -1)
  1752  	localVarPath = strings.Replace(localVarPath, "{"+"uint32Value"+"}", fmt.Sprintf("%v", uint32Value), -1)
  1753  	localVarPath = strings.Replace(localVarPath, "{"+"sfixed32Value"+"}", fmt.Sprintf("%v", sfixed32Value), -1)
  1754  	localVarPath = strings.Replace(localVarPath, "{"+"sfixed64Value"+"}", fmt.Sprintf("%v", sfixed64Value), -1)
  1755  	localVarPath = strings.Replace(localVarPath, "{"+"sint32Value"+"}", fmt.Sprintf("%v", sint32Value), -1)
  1756  	localVarPath = strings.Replace(localVarPath, "{"+"sint64Value"+"}", fmt.Sprintf("%v", sint64Value), -1)
  1757  	localVarPath = strings.Replace(localVarPath, "{"+"nonConventionalNameValue"+"}", fmt.Sprintf("%v", nonConventionalNameValue), -1)
  1758  	localVarPath = strings.Replace(localVarPath, "{"+"enumValue"+"}", fmt.Sprintf("%v", enumValue), -1)
  1759  	localVarPath = strings.Replace(localVarPath, "{"+"pathEnumValue"+"}", fmt.Sprintf("%v", pathEnumValue), -1)
  1760  	localVarPath = strings.Replace(localVarPath, "{"+"nestedPathEnumValue"+"}", fmt.Sprintf("%v", nestedPathEnumValue), -1)
  1761  	localVarPath = strings.Replace(localVarPath, "{"+"enumValueAnnotation"+"}", fmt.Sprintf("%v", enumValueAnnotation), -1)
  1762  
  1763  	localVarHeaderParams := make(map[string]string)
  1764  	localVarQueryParams := url.Values{}
  1765  	localVarFormParams := url.Values{}
  1766  
  1767  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
  1768  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
  1769  	}
  1770  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
  1771  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
  1772  	}
  1773  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
  1774  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
  1775  	}
  1776  	localVarQueryParams.Add("uuid", parameterToString(uuid, ""))
  1777  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  1778  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  1779  	}
  1780  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  1781  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  1782  	}
  1783  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  1784  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  1785  	}
  1786  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  1787  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  1788  	}
  1789  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  1790  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  1791  	}
  1792  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  1793  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  1794  	}
  1795  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  1796  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  1797  	}
  1798  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  1799  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  1800  	}
  1801  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  1802  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  1803  	}
  1804  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  1805  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  1806  	}
  1807  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  1808  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  1809  	}
  1810  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  1811  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  1812  	}
  1813  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  1814  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  1815  	}
  1816  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  1817  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  1818  	}
  1819  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  1820  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  1821  	}
  1822  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  1823  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  1824  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  1825  	}
  1826  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  1827  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  1828  	}
  1829  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  1830  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  1831  	}
  1832  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  1833  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  1834  	}
  1835  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  1836  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  1837  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  1838  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  1839  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  1840  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  1841  	}
  1842  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  1843  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  1844  	}
  1845  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  1846  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  1847  	}
  1848  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  1849  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  1850  	}
  1851  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  1852  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  1853  	}
  1854  	// to determine the Content-Type header
  1855  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  1856  
  1857  	// set Content-Type header
  1858  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1859  	if localVarHttpContentType != "" {
  1860  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1861  	}
  1862  
  1863  	// to determine the Accept header
  1864  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  1865  
  1866  	// set Accept header
  1867  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1868  	if localVarHttpHeaderAccept != "" {
  1869  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1870  	}
  1871  	if ctx != nil {
  1872  		// API Key Authentication
  1873  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1874  			var key string
  1875  			if auth.Prefix != "" {
  1876  				key = auth.Prefix + " " + auth.Key
  1877  			} else {
  1878  				key = auth.Key
  1879  			}
  1880  			localVarHeaderParams["X-API-Key"] = key
  1881  			
  1882  		}
  1883  	}
  1884  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1885  	if err != nil {
  1886  		return localVarReturnValue, nil, err
  1887  	}
  1888  
  1889  	localVarHttpResponse, err := a.client.callAPI(r)
  1890  	if err != nil || localVarHttpResponse == nil {
  1891  		return localVarReturnValue, localVarHttpResponse, err
  1892  	}
  1893  
  1894  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1895  	localVarHttpResponse.Body.Close()
  1896  	if err != nil {
  1897  		return localVarReturnValue, localVarHttpResponse, err
  1898  	}
  1899  
  1900  	if localVarHttpResponse.StatusCode < 300 {
  1901  		// If we succeed, return the data, otherwise pass on to decode error.
  1902  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1903  		if err == nil { 
  1904  			return localVarReturnValue, localVarHttpResponse, err
  1905  		}
  1906  	}
  1907  
  1908  	if localVarHttpResponse.StatusCode >= 300 {
  1909  		newErr := GenericSwaggerError{
  1910  			body: localVarBody,
  1911  			error: localVarHttpResponse.Status,
  1912  		}
  1913  		
  1914  		if localVarHttpResponse.StatusCode == 200 {
  1915  			var v ExamplepbABitOfEverything
  1916  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1917  				if err != nil {
  1918  					newErr.error = err.Error()
  1919  					return localVarReturnValue, localVarHttpResponse, newErr
  1920  				}
  1921  				newErr.model = v
  1922  				return localVarReturnValue, localVarHttpResponse, newErr
  1923  		}
  1924  		
  1925  		if localVarHttpResponse.StatusCode == 403 {
  1926  			var v interface{}
  1927  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1928  				if err != nil {
  1929  					newErr.error = err.Error()
  1930  					return localVarReturnValue, localVarHttpResponse, newErr
  1931  				}
  1932  				newErr.model = v
  1933  				return localVarReturnValue, localVarHttpResponse, newErr
  1934  		}
  1935  		
  1936  		if localVarHttpResponse.StatusCode == 404 {
  1937  			var v string
  1938  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1939  				if err != nil {
  1940  					newErr.error = err.Error()
  1941  					return localVarReturnValue, localVarHttpResponse, newErr
  1942  				}
  1943  				newErr.model = v
  1944  				return localVarReturnValue, localVarHttpResponse, newErr
  1945  		}
  1946  		
  1947  		if localVarHttpResponse.StatusCode == 418 {
  1948  			var v ExamplepbNumericEnum
  1949  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1950  				if err != nil {
  1951  					newErr.error = err.Error()
  1952  					return localVarReturnValue, localVarHttpResponse, newErr
  1953  				}
  1954  				newErr.model = v
  1955  				return localVarReturnValue, localVarHttpResponse, newErr
  1956  		}
  1957  		
  1958  		if localVarHttpResponse.StatusCode == 500 {
  1959  			var v ExamplepbErrorResponse
  1960  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1961  				if err != nil {
  1962  					newErr.error = err.Error()
  1963  					return localVarReturnValue, localVarHttpResponse, newErr
  1964  				}
  1965  				newErr.model = v
  1966  				return localVarReturnValue, localVarHttpResponse, newErr
  1967  		}
  1968  		
  1969  		if localVarHttpResponse.StatusCode == 0 {
  1970  			var v RpcStatus
  1971  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  1972  				if err != nil {
  1973  					newErr.error = err.Error()
  1974  					return localVarReturnValue, localVarHttpResponse, newErr
  1975  				}
  1976  				newErr.model = v
  1977  				return localVarReturnValue, localVarHttpResponse, newErr
  1978  		}
  1979  		
  1980  		return localVarReturnValue, localVarHttpResponse, newErr
  1981  	}
  1982  
  1983  	return localVarReturnValue, localVarHttpResponse, nil
  1984  }
  1985  
  1986  /* 
  1987  ABitOfEverythingServiceApiService
  1988   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1989   * @param body Intentionally complicated message type to cover many features of Protobuf.
  1990  
  1991  @return ExamplepbABitOfEverything
  1992  */
  1993  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCreateBody(ctx context.Context, body ExamplepbABitOfEverything) (ExamplepbABitOfEverything, *http.Response, error) {
  1994  	var (
  1995  		localVarHttpMethod = strings.ToUpper("Post")
  1996  		localVarPostBody   interface{}
  1997  		localVarFileName   string
  1998  		localVarFileBytes  []byte
  1999  		localVarReturnValue ExamplepbABitOfEverything
  2000  	)
  2001  
  2002  	// create path and map variables
  2003  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything"
  2004  
  2005  	localVarHeaderParams := make(map[string]string)
  2006  	localVarQueryParams := url.Values{}
  2007  	localVarFormParams := url.Values{}
  2008  
  2009  	// to determine the Content-Type header
  2010  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  2011  
  2012  	// set Content-Type header
  2013  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2014  	if localVarHttpContentType != "" {
  2015  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2016  	}
  2017  
  2018  	// to determine the Accept header
  2019  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  2020  
  2021  	// set Accept header
  2022  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2023  	if localVarHttpHeaderAccept != "" {
  2024  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2025  	}
  2026  	// body params
  2027  	localVarPostBody = &body
  2028  	if ctx != nil {
  2029  		// API Key Authentication
  2030  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2031  			var key string
  2032  			if auth.Prefix != "" {
  2033  				key = auth.Prefix + " " + auth.Key
  2034  			} else {
  2035  				key = auth.Key
  2036  			}
  2037  			localVarHeaderParams["X-API-Key"] = key
  2038  			
  2039  		}
  2040  	}
  2041  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2042  	if err != nil {
  2043  		return localVarReturnValue, nil, err
  2044  	}
  2045  
  2046  	localVarHttpResponse, err := a.client.callAPI(r)
  2047  	if err != nil || localVarHttpResponse == nil {
  2048  		return localVarReturnValue, localVarHttpResponse, err
  2049  	}
  2050  
  2051  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2052  	localVarHttpResponse.Body.Close()
  2053  	if err != nil {
  2054  		return localVarReturnValue, localVarHttpResponse, err
  2055  	}
  2056  
  2057  	if localVarHttpResponse.StatusCode < 300 {
  2058  		// If we succeed, return the data, otherwise pass on to decode error.
  2059  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2060  		if err == nil { 
  2061  			return localVarReturnValue, localVarHttpResponse, err
  2062  		}
  2063  	}
  2064  
  2065  	if localVarHttpResponse.StatusCode >= 300 {
  2066  		newErr := GenericSwaggerError{
  2067  			body: localVarBody,
  2068  			error: localVarHttpResponse.Status,
  2069  		}
  2070  		
  2071  		if localVarHttpResponse.StatusCode == 200 {
  2072  			var v ExamplepbABitOfEverything
  2073  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2074  				if err != nil {
  2075  					newErr.error = err.Error()
  2076  					return localVarReturnValue, localVarHttpResponse, newErr
  2077  				}
  2078  				newErr.model = v
  2079  				return localVarReturnValue, localVarHttpResponse, newErr
  2080  		}
  2081  		
  2082  		if localVarHttpResponse.StatusCode == 403 {
  2083  			var v interface{}
  2084  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2085  				if err != nil {
  2086  					newErr.error = err.Error()
  2087  					return localVarReturnValue, localVarHttpResponse, newErr
  2088  				}
  2089  				newErr.model = v
  2090  				return localVarReturnValue, localVarHttpResponse, newErr
  2091  		}
  2092  		
  2093  		if localVarHttpResponse.StatusCode == 404 {
  2094  			var v string
  2095  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2096  				if err != nil {
  2097  					newErr.error = err.Error()
  2098  					return localVarReturnValue, localVarHttpResponse, newErr
  2099  				}
  2100  				newErr.model = v
  2101  				return localVarReturnValue, localVarHttpResponse, newErr
  2102  		}
  2103  		
  2104  		if localVarHttpResponse.StatusCode == 418 {
  2105  			var v ExamplepbNumericEnum
  2106  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2107  				if err != nil {
  2108  					newErr.error = err.Error()
  2109  					return localVarReturnValue, localVarHttpResponse, newErr
  2110  				}
  2111  				newErr.model = v
  2112  				return localVarReturnValue, localVarHttpResponse, newErr
  2113  		}
  2114  		
  2115  		if localVarHttpResponse.StatusCode == 500 {
  2116  			var v ExamplepbErrorResponse
  2117  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2118  				if err != nil {
  2119  					newErr.error = err.Error()
  2120  					return localVarReturnValue, localVarHttpResponse, newErr
  2121  				}
  2122  				newErr.model = v
  2123  				return localVarReturnValue, localVarHttpResponse, newErr
  2124  		}
  2125  		
  2126  		if localVarHttpResponse.StatusCode == 0 {
  2127  			var v RpcStatus
  2128  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2129  				if err != nil {
  2130  					newErr.error = err.Error()
  2131  					return localVarReturnValue, localVarHttpResponse, newErr
  2132  				}
  2133  				newErr.model = v
  2134  				return localVarReturnValue, localVarHttpResponse, newErr
  2135  		}
  2136  		
  2137  		return localVarReturnValue, localVarHttpResponse, newErr
  2138  	}
  2139  
  2140  	return localVarReturnValue, localVarHttpResponse, nil
  2141  }
  2142  
  2143  /* 
  2144  ABitOfEverythingServiceApiService Create a book.
  2145   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2146   * @param parent The publisher in which to create the book.  Format: &#x60;publishers/{publisher}&#x60;  Example: &#x60;publishers/1257894000000000000&#x60;
  2147   * @param book The book to create.
  2148   * @param optional nil or *ABitOfEverythingServiceCreateBookOpts - Optional Parameters:
  2149       * @param "BookId" (optional.String) -  The ID to use for the book.  This must start with an alphanumeric character.
  2150  
  2151  @return ExamplepbBook
  2152  */
  2153  
  2154  type ABitOfEverythingServiceCreateBookOpts struct { 
  2155  	BookId optional.String
  2156  }
  2157  
  2158  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCreateBook(ctx context.Context, parent string, book ExamplepbBook, localVarOptionals *ABitOfEverythingServiceCreateBookOpts) (ExamplepbBook, *http.Response, error) {
  2159  	var (
  2160  		localVarHttpMethod = strings.ToUpper("Post")
  2161  		localVarPostBody   interface{}
  2162  		localVarFileName   string
  2163  		localVarFileBytes  []byte
  2164  		localVarReturnValue ExamplepbBook
  2165  	)
  2166  
  2167  	// create path and map variables
  2168  	localVarPath := a.client.cfg.BasePath + "/v1/{parent}/books"
  2169  	localVarPath = strings.Replace(localVarPath, "{"+"parent"+"}", fmt.Sprintf("%v", parent), -1)
  2170  
  2171  	localVarHeaderParams := make(map[string]string)
  2172  	localVarQueryParams := url.Values{}
  2173  	localVarFormParams := url.Values{}
  2174  
  2175  	if localVarOptionals != nil && localVarOptionals.BookId.IsSet() {
  2176  		localVarQueryParams.Add("bookId", parameterToString(localVarOptionals.BookId.Value(), ""))
  2177  	}
  2178  	// to determine the Content-Type header
  2179  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  2180  
  2181  	// set Content-Type header
  2182  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2183  	if localVarHttpContentType != "" {
  2184  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2185  	}
  2186  
  2187  	// to determine the Accept header
  2188  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  2189  
  2190  	// set Accept header
  2191  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2192  	if localVarHttpHeaderAccept != "" {
  2193  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2194  	}
  2195  	// body params
  2196  	localVarPostBody = &book
  2197  	if ctx != nil {
  2198  		// API Key Authentication
  2199  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2200  			var key string
  2201  			if auth.Prefix != "" {
  2202  				key = auth.Prefix + " " + auth.Key
  2203  			} else {
  2204  				key = auth.Key
  2205  			}
  2206  			localVarHeaderParams["X-API-Key"] = key
  2207  			
  2208  		}
  2209  	}
  2210  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2211  	if err != nil {
  2212  		return localVarReturnValue, nil, err
  2213  	}
  2214  
  2215  	localVarHttpResponse, err := a.client.callAPI(r)
  2216  	if err != nil || localVarHttpResponse == nil {
  2217  		return localVarReturnValue, localVarHttpResponse, err
  2218  	}
  2219  
  2220  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2221  	localVarHttpResponse.Body.Close()
  2222  	if err != nil {
  2223  		return localVarReturnValue, localVarHttpResponse, err
  2224  	}
  2225  
  2226  	if localVarHttpResponse.StatusCode < 300 {
  2227  		// If we succeed, return the data, otherwise pass on to decode error.
  2228  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2229  		if err == nil { 
  2230  			return localVarReturnValue, localVarHttpResponse, err
  2231  		}
  2232  	}
  2233  
  2234  	if localVarHttpResponse.StatusCode >= 300 {
  2235  		newErr := GenericSwaggerError{
  2236  			body: localVarBody,
  2237  			error: localVarHttpResponse.Status,
  2238  		}
  2239  		
  2240  		if localVarHttpResponse.StatusCode == 200 {
  2241  			var v ExamplepbBook
  2242  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2243  				if err != nil {
  2244  					newErr.error = err.Error()
  2245  					return localVarReturnValue, localVarHttpResponse, newErr
  2246  				}
  2247  				newErr.model = v
  2248  				return localVarReturnValue, localVarHttpResponse, newErr
  2249  		}
  2250  		
  2251  		if localVarHttpResponse.StatusCode == 403 {
  2252  			var v interface{}
  2253  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2254  				if err != nil {
  2255  					newErr.error = err.Error()
  2256  					return localVarReturnValue, localVarHttpResponse, newErr
  2257  				}
  2258  				newErr.model = v
  2259  				return localVarReturnValue, localVarHttpResponse, newErr
  2260  		}
  2261  		
  2262  		if localVarHttpResponse.StatusCode == 404 {
  2263  			var v string
  2264  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2265  				if err != nil {
  2266  					newErr.error = err.Error()
  2267  					return localVarReturnValue, localVarHttpResponse, newErr
  2268  				}
  2269  				newErr.model = v
  2270  				return localVarReturnValue, localVarHttpResponse, newErr
  2271  		}
  2272  		
  2273  		if localVarHttpResponse.StatusCode == 418 {
  2274  			var v ExamplepbNumericEnum
  2275  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2276  				if err != nil {
  2277  					newErr.error = err.Error()
  2278  					return localVarReturnValue, localVarHttpResponse, newErr
  2279  				}
  2280  				newErr.model = v
  2281  				return localVarReturnValue, localVarHttpResponse, newErr
  2282  		}
  2283  		
  2284  		if localVarHttpResponse.StatusCode == 500 {
  2285  			var v ExamplepbErrorResponse
  2286  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2287  				if err != nil {
  2288  					newErr.error = err.Error()
  2289  					return localVarReturnValue, localVarHttpResponse, newErr
  2290  				}
  2291  				newErr.model = v
  2292  				return localVarReturnValue, localVarHttpResponse, newErr
  2293  		}
  2294  		
  2295  		if localVarHttpResponse.StatusCode == 0 {
  2296  			var v RpcStatus
  2297  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2298  				if err != nil {
  2299  					newErr.error = err.Error()
  2300  					return localVarReturnValue, localVarHttpResponse, newErr
  2301  				}
  2302  				newErr.model = v
  2303  				return localVarReturnValue, localVarHttpResponse, newErr
  2304  		}
  2305  		
  2306  		return localVarReturnValue, localVarHttpResponse, newErr
  2307  	}
  2308  
  2309  	return localVarReturnValue, localVarHttpResponse, nil
  2310  }
  2311  
  2312  /* 
  2313  ABitOfEverythingServiceApiService
  2314   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2315   * @param uuidName
  2316   * @param floatValue Float value field
  2317   * @param doubleValue
  2318   * @param int64Value
  2319   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  2320   * @param requiredStringField1
  2321   * @param requiredStringField2
  2322   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  2323   * @param requiredFieldSchemaJsonNameCustom
  2324   * @param optional nil or *ABitOfEverythingServiceCustomOpts - Optional Parameters:
  2325       * @param "SingleNestedName" (optional.String) -  name is nested field.
  2326       * @param "SingleNestedAmount" (optional.Int64) - 
  2327       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  2328       * @param "Uint64Value" (optional.String) - 
  2329       * @param "Int32Value" (optional.Int32) - 
  2330       * @param "Fixed64Value" (optional.String) - 
  2331       * @param "Fixed32Value" (optional.Int64) - 
  2332       * @param "BoolValue" (optional.Bool) - 
  2333       * @param "StringValue" (optional.String) - 
  2334       * @param "BytesValue" (optional.String) - 
  2335       * @param "Uint32Value" (optional.Int64) - 
  2336       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
  2337       * @param "PathEnumValue" (optional.String) - 
  2338       * @param "NestedPathEnumValue" (optional.String) - 
  2339       * @param "Sfixed32Value" (optional.Int32) - 
  2340       * @param "Sfixed64Value" (optional.String) - 
  2341       * @param "Sint32Value" (optional.Int32) - 
  2342       * @param "Sint64Value" (optional.String) - 
  2343       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  2344       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  2345       * @param "OneofString" (optional.String) - 
  2346       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2347       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2348       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2349       * @param "NonConventionalNameValue" (optional.String) - 
  2350       * @param "TimestampValue" (optional.Time) - 
  2351       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  2352       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  2353       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  2354       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  2355       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  2356       * @param "NestedAnnotationAmount" (optional.Int64) - 
  2357       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  2358       * @param "Int64OverrideType" (optional.Int64) - 
  2359       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  2360       * @param "OptionalStringValue" (optional.String) - 
  2361       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  2362       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  2363       * @param "TrailingOnly" (optional.String) -  Trailing only
  2364       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  2365       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  2366       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  2367       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  2368  
  2369  @return ExamplepbABitOfEverything
  2370  */
  2371  
  2372  type ABitOfEverythingServiceCustomOpts struct { 
  2373  	SingleNestedName optional.String
  2374  	SingleNestedAmount optional.Int64
  2375  	SingleNestedOk optional.String
  2376  	Uint64Value optional.String
  2377  	Int32Value optional.Int32
  2378  	Fixed64Value optional.String
  2379  	Fixed32Value optional.Int64
  2380  	BoolValue optional.Bool
  2381  	StringValue optional.String
  2382  	BytesValue optional.String
  2383  	Uint32Value optional.Int64
  2384  	EnumValue optional.String
  2385  	PathEnumValue optional.String
  2386  	NestedPathEnumValue optional.String
  2387  	Sfixed32Value optional.Int32
  2388  	Sfixed64Value optional.String
  2389  	Sint32Value optional.Int32
  2390  	Sint64Value optional.String
  2391  	RepeatedStringValue optional.Interface
  2392  	OneofEmpty optional.Interface
  2393  	OneofString optional.String
  2394  	MapValue optional.Interface
  2395  	MappedStringValue optional.String
  2396  	MappedNestedValue optional.Interface
  2397  	NonConventionalNameValue optional.String
  2398  	TimestampValue optional.Time
  2399  	RepeatedEnumValue optional.Interface
  2400  	RepeatedEnumAnnotation optional.Interface
  2401  	EnumValueAnnotation optional.String
  2402  	RepeatedStringAnnotation optional.Interface
  2403  	NestedAnnotationName optional.String
  2404  	NestedAnnotationAmount optional.Int64
  2405  	NestedAnnotationOk optional.String
  2406  	Int64OverrideType optional.Int64
  2407  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  2408  	OptionalStringValue optional.String
  2409  	ProductId optional.Interface
  2410  	OptionalStringField optional.String
  2411  	TrailingOnly optional.String
  2412  	TrailingOnlyDot optional.String
  2413  	TrailingBoth optional.String
  2414  	TrailingMultiline optional.String
  2415  	Uuids optional.Interface
  2416  }
  2417  
  2418  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCustom(ctx context.Context, uuidName string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCustomOpts) (ExamplepbABitOfEverything, *http.Response, error) {
  2419  	var (
  2420  		localVarHttpMethod = strings.ToUpper("Post")
  2421  		localVarPostBody   interface{}
  2422  		localVarFileName   string
  2423  		localVarFileBytes  []byte
  2424  		localVarReturnValue ExamplepbABitOfEverything
  2425  	)
  2426  
  2427  	// create path and map variables
  2428  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuidName}:custom"
  2429  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  2430  
  2431  	localVarHeaderParams := make(map[string]string)
  2432  	localVarQueryParams := url.Values{}
  2433  	localVarFormParams := url.Values{}
  2434  
  2435  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
  2436  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
  2437  	}
  2438  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
  2439  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
  2440  	}
  2441  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
  2442  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
  2443  	}
  2444  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
  2445  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
  2446  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
  2447  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
  2448  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
  2449  	}
  2450  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
  2451  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
  2452  	}
  2453  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
  2454  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
  2455  	}
  2456  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
  2457  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
  2458  	}
  2459  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
  2460  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
  2461  	}
  2462  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
  2463  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
  2464  	}
  2465  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  2466  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  2467  	}
  2468  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
  2469  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
  2470  	}
  2471  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
  2472  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
  2473  	}
  2474  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
  2475  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
  2476  	}
  2477  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
  2478  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
  2479  	}
  2480  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
  2481  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
  2482  	}
  2483  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
  2484  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
  2485  	}
  2486  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
  2487  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
  2488  	}
  2489  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
  2490  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
  2491  	}
  2492  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  2493  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  2494  	}
  2495  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  2496  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  2497  	}
  2498  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  2499  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  2500  	}
  2501  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  2502  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  2503  	}
  2504  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  2505  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  2506  	}
  2507  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  2508  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  2509  	}
  2510  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
  2511  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
  2512  	}
  2513  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  2514  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  2515  	}
  2516  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  2517  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  2518  	}
  2519  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  2520  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  2521  	}
  2522  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
  2523  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
  2524  	}
  2525  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  2526  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  2527  	}
  2528  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  2529  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  2530  	}
  2531  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  2532  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  2533  	}
  2534  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  2535  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  2536  	}
  2537  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  2538  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  2539  	}
  2540  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  2541  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  2542  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  2543  	}
  2544  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  2545  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  2546  	}
  2547  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  2548  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  2549  	}
  2550  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  2551  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  2552  	}
  2553  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  2554  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  2555  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  2556  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  2557  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  2558  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  2559  	}
  2560  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  2561  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  2562  	}
  2563  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  2564  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  2565  	}
  2566  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  2567  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  2568  	}
  2569  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  2570  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  2571  	}
  2572  	// to determine the Content-Type header
  2573  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  2574  
  2575  	// set Content-Type header
  2576  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2577  	if localVarHttpContentType != "" {
  2578  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2579  	}
  2580  
  2581  	// to determine the Accept header
  2582  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  2583  
  2584  	// set Accept header
  2585  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2586  	if localVarHttpHeaderAccept != "" {
  2587  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2588  	}
  2589  	if ctx != nil {
  2590  		// API Key Authentication
  2591  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2592  			var key string
  2593  			if auth.Prefix != "" {
  2594  				key = auth.Prefix + " " + auth.Key
  2595  			} else {
  2596  				key = auth.Key
  2597  			}
  2598  			localVarHeaderParams["X-API-Key"] = key
  2599  			
  2600  		}
  2601  	}
  2602  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2603  	if err != nil {
  2604  		return localVarReturnValue, nil, err
  2605  	}
  2606  
  2607  	localVarHttpResponse, err := a.client.callAPI(r)
  2608  	if err != nil || localVarHttpResponse == nil {
  2609  		return localVarReturnValue, localVarHttpResponse, err
  2610  	}
  2611  
  2612  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2613  	localVarHttpResponse.Body.Close()
  2614  	if err != nil {
  2615  		return localVarReturnValue, localVarHttpResponse, err
  2616  	}
  2617  
  2618  	if localVarHttpResponse.StatusCode < 300 {
  2619  		// If we succeed, return the data, otherwise pass on to decode error.
  2620  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2621  		if err == nil { 
  2622  			return localVarReturnValue, localVarHttpResponse, err
  2623  		}
  2624  	}
  2625  
  2626  	if localVarHttpResponse.StatusCode >= 300 {
  2627  		newErr := GenericSwaggerError{
  2628  			body: localVarBody,
  2629  			error: localVarHttpResponse.Status,
  2630  		}
  2631  		
  2632  		if localVarHttpResponse.StatusCode == 200 {
  2633  			var v ExamplepbABitOfEverything
  2634  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2635  				if err != nil {
  2636  					newErr.error = err.Error()
  2637  					return localVarReturnValue, localVarHttpResponse, newErr
  2638  				}
  2639  				newErr.model = v
  2640  				return localVarReturnValue, localVarHttpResponse, newErr
  2641  		}
  2642  		
  2643  		if localVarHttpResponse.StatusCode == 403 {
  2644  			var v interface{}
  2645  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2646  				if err != nil {
  2647  					newErr.error = err.Error()
  2648  					return localVarReturnValue, localVarHttpResponse, newErr
  2649  				}
  2650  				newErr.model = v
  2651  				return localVarReturnValue, localVarHttpResponse, newErr
  2652  		}
  2653  		
  2654  		if localVarHttpResponse.StatusCode == 404 {
  2655  			var v string
  2656  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2657  				if err != nil {
  2658  					newErr.error = err.Error()
  2659  					return localVarReturnValue, localVarHttpResponse, newErr
  2660  				}
  2661  				newErr.model = v
  2662  				return localVarReturnValue, localVarHttpResponse, newErr
  2663  		}
  2664  		
  2665  		if localVarHttpResponse.StatusCode == 418 {
  2666  			var v ExamplepbNumericEnum
  2667  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2668  				if err != nil {
  2669  					newErr.error = err.Error()
  2670  					return localVarReturnValue, localVarHttpResponse, newErr
  2671  				}
  2672  				newErr.model = v
  2673  				return localVarReturnValue, localVarHttpResponse, newErr
  2674  		}
  2675  		
  2676  		if localVarHttpResponse.StatusCode == 500 {
  2677  			var v ExamplepbErrorResponse
  2678  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2679  				if err != nil {
  2680  					newErr.error = err.Error()
  2681  					return localVarReturnValue, localVarHttpResponse, newErr
  2682  				}
  2683  				newErr.model = v
  2684  				return localVarReturnValue, localVarHttpResponse, newErr
  2685  		}
  2686  		
  2687  		if localVarHttpResponse.StatusCode == 0 {
  2688  			var v RpcStatus
  2689  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  2690  				if err != nil {
  2691  					newErr.error = err.Error()
  2692  					return localVarReturnValue, localVarHttpResponse, newErr
  2693  				}
  2694  				newErr.model = v
  2695  				return localVarReturnValue, localVarHttpResponse, newErr
  2696  		}
  2697  		
  2698  		return localVarReturnValue, localVarHttpResponse, newErr
  2699  	}
  2700  
  2701  	return localVarReturnValue, localVarHttpResponse, nil
  2702  }
  2703  
  2704  /* 
  2705  ABitOfEverythingServiceApiService
  2706   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2707   * @param uuidName
  2708   * @param floatValue Float value field
  2709   * @param doubleValue
  2710   * @param int64Value
  2711   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  2712   * @param requiredStringField1
  2713   * @param requiredStringField2
  2714   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  2715   * @param requiredFieldSchemaJsonNameCustom
  2716   * @param optional nil or *ABitOfEverythingServiceCustomOptionsRequestOpts - Optional Parameters:
  2717       * @param "SingleNestedName" (optional.String) -  name is nested field.
  2718       * @param "SingleNestedAmount" (optional.Int64) - 
  2719       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  2720       * @param "Uint64Value" (optional.String) - 
  2721       * @param "Int32Value" (optional.Int32) - 
  2722       * @param "Fixed64Value" (optional.String) - 
  2723       * @param "Fixed32Value" (optional.Int64) - 
  2724       * @param "BoolValue" (optional.Bool) - 
  2725       * @param "StringValue" (optional.String) - 
  2726       * @param "BytesValue" (optional.String) - 
  2727       * @param "Uint32Value" (optional.Int64) - 
  2728       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
  2729       * @param "PathEnumValue" (optional.String) - 
  2730       * @param "NestedPathEnumValue" (optional.String) - 
  2731       * @param "Sfixed32Value" (optional.Int32) - 
  2732       * @param "Sfixed64Value" (optional.String) - 
  2733       * @param "Sint32Value" (optional.Int32) - 
  2734       * @param "Sint64Value" (optional.String) - 
  2735       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  2736       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  2737       * @param "OneofString" (optional.String) - 
  2738       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2739       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2740       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  2741       * @param "NonConventionalNameValue" (optional.String) - 
  2742       * @param "TimestampValue" (optional.Time) - 
  2743       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  2744       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  2745       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  2746       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  2747       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  2748       * @param "NestedAnnotationAmount" (optional.Int64) - 
  2749       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  2750       * @param "Int64OverrideType" (optional.Int64) - 
  2751       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  2752       * @param "OptionalStringValue" (optional.String) - 
  2753       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  2754       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  2755       * @param "TrailingOnly" (optional.String) -  Trailing only
  2756       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  2757       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  2758       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  2759       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  2760  
  2761  @return interface{}
  2762  */
  2763  
  2764  type ABitOfEverythingServiceCustomOptionsRequestOpts struct { 
  2765  	SingleNestedName optional.String
  2766  	SingleNestedAmount optional.Int64
  2767  	SingleNestedOk optional.String
  2768  	Uint64Value optional.String
  2769  	Int32Value optional.Int32
  2770  	Fixed64Value optional.String
  2771  	Fixed32Value optional.Int64
  2772  	BoolValue optional.Bool
  2773  	StringValue optional.String
  2774  	BytesValue optional.String
  2775  	Uint32Value optional.Int64
  2776  	EnumValue optional.String
  2777  	PathEnumValue optional.String
  2778  	NestedPathEnumValue optional.String
  2779  	Sfixed32Value optional.Int32
  2780  	Sfixed64Value optional.String
  2781  	Sint32Value optional.Int32
  2782  	Sint64Value optional.String
  2783  	RepeatedStringValue optional.Interface
  2784  	OneofEmpty optional.Interface
  2785  	OneofString optional.String
  2786  	MapValue optional.Interface
  2787  	MappedStringValue optional.String
  2788  	MappedNestedValue optional.Interface
  2789  	NonConventionalNameValue optional.String
  2790  	TimestampValue optional.Time
  2791  	RepeatedEnumValue optional.Interface
  2792  	RepeatedEnumAnnotation optional.Interface
  2793  	EnumValueAnnotation optional.String
  2794  	RepeatedStringAnnotation optional.Interface
  2795  	NestedAnnotationName optional.String
  2796  	NestedAnnotationAmount optional.Int64
  2797  	NestedAnnotationOk optional.String
  2798  	Int64OverrideType optional.Int64
  2799  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  2800  	OptionalStringValue optional.String
  2801  	ProductId optional.Interface
  2802  	OptionalStringField optional.String
  2803  	TrailingOnly optional.String
  2804  	TrailingOnlyDot optional.String
  2805  	TrailingBoth optional.String
  2806  	TrailingMultiline optional.String
  2807  	Uuids optional.Interface
  2808  }
  2809  
  2810  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceCustomOptionsRequest(ctx context.Context, uuidName string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceCustomOptionsRequestOpts) (interface{}, *http.Response, error) {
  2811  	var (
  2812  		localVarHttpMethod = strings.ToUpper("Options")
  2813  		localVarPostBody   interface{}
  2814  		localVarFileName   string
  2815  		localVarFileBytes  []byte
  2816  		localVarReturnValue interface{}
  2817  	)
  2818  
  2819  	// create path and map variables
  2820  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuidName}"
  2821  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  2822  
  2823  	localVarHeaderParams := make(map[string]string)
  2824  	localVarQueryParams := url.Values{}
  2825  	localVarFormParams := url.Values{}
  2826  
  2827  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
  2828  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
  2829  	}
  2830  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
  2831  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
  2832  	}
  2833  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
  2834  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
  2835  	}
  2836  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
  2837  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
  2838  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
  2839  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
  2840  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
  2841  	}
  2842  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
  2843  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
  2844  	}
  2845  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
  2846  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
  2847  	}
  2848  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
  2849  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
  2850  	}
  2851  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
  2852  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
  2853  	}
  2854  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
  2855  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
  2856  	}
  2857  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  2858  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  2859  	}
  2860  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
  2861  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
  2862  	}
  2863  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
  2864  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
  2865  	}
  2866  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
  2867  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
  2868  	}
  2869  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
  2870  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
  2871  	}
  2872  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
  2873  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
  2874  	}
  2875  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
  2876  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
  2877  	}
  2878  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
  2879  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
  2880  	}
  2881  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
  2882  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
  2883  	}
  2884  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  2885  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  2886  	}
  2887  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  2888  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  2889  	}
  2890  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  2891  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  2892  	}
  2893  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  2894  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  2895  	}
  2896  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  2897  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  2898  	}
  2899  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  2900  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  2901  	}
  2902  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
  2903  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
  2904  	}
  2905  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  2906  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  2907  	}
  2908  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  2909  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  2910  	}
  2911  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  2912  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  2913  	}
  2914  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
  2915  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
  2916  	}
  2917  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  2918  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  2919  	}
  2920  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  2921  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  2922  	}
  2923  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  2924  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  2925  	}
  2926  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  2927  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  2928  	}
  2929  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  2930  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  2931  	}
  2932  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  2933  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  2934  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  2935  	}
  2936  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  2937  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  2938  	}
  2939  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  2940  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  2941  	}
  2942  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  2943  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  2944  	}
  2945  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  2946  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  2947  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  2948  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  2949  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  2950  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  2951  	}
  2952  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  2953  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  2954  	}
  2955  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  2956  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  2957  	}
  2958  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  2959  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  2960  	}
  2961  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  2962  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  2963  	}
  2964  	// to determine the Content-Type header
  2965  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  2966  
  2967  	// set Content-Type header
  2968  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2969  	if localVarHttpContentType != "" {
  2970  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2971  	}
  2972  
  2973  	// to determine the Accept header
  2974  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  2975  
  2976  	// set Accept header
  2977  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2978  	if localVarHttpHeaderAccept != "" {
  2979  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2980  	}
  2981  	if ctx != nil {
  2982  		// API Key Authentication
  2983  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2984  			var key string
  2985  			if auth.Prefix != "" {
  2986  				key = auth.Prefix + " " + auth.Key
  2987  			} else {
  2988  				key = auth.Key
  2989  			}
  2990  			localVarHeaderParams["X-API-Key"] = key
  2991  			
  2992  		}
  2993  	}
  2994  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2995  	if err != nil {
  2996  		return localVarReturnValue, nil, err
  2997  	}
  2998  
  2999  	localVarHttpResponse, err := a.client.callAPI(r)
  3000  	if err != nil || localVarHttpResponse == nil {
  3001  		return localVarReturnValue, localVarHttpResponse, err
  3002  	}
  3003  
  3004  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3005  	localVarHttpResponse.Body.Close()
  3006  	if err != nil {
  3007  		return localVarReturnValue, localVarHttpResponse, err
  3008  	}
  3009  
  3010  	if localVarHttpResponse.StatusCode < 300 {
  3011  		// If we succeed, return the data, otherwise pass on to decode error.
  3012  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3013  		if err == nil { 
  3014  			return localVarReturnValue, localVarHttpResponse, err
  3015  		}
  3016  	}
  3017  
  3018  	if localVarHttpResponse.StatusCode >= 300 {
  3019  		newErr := GenericSwaggerError{
  3020  			body: localVarBody,
  3021  			error: localVarHttpResponse.Status,
  3022  		}
  3023  		
  3024  		if localVarHttpResponse.StatusCode == 200 {
  3025  			var v interface{}
  3026  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3027  				if err != nil {
  3028  					newErr.error = err.Error()
  3029  					return localVarReturnValue, localVarHttpResponse, newErr
  3030  				}
  3031  				newErr.model = v
  3032  				return localVarReturnValue, localVarHttpResponse, newErr
  3033  		}
  3034  		
  3035  		if localVarHttpResponse.StatusCode == 0 {
  3036  			var v RpcStatus
  3037  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3038  				if err != nil {
  3039  					newErr.error = err.Error()
  3040  					return localVarReturnValue, localVarHttpResponse, newErr
  3041  				}
  3042  				newErr.model = v
  3043  				return localVarReturnValue, localVarHttpResponse, newErr
  3044  		}
  3045  		
  3046  		return localVarReturnValue, localVarHttpResponse, newErr
  3047  	}
  3048  
  3049  	return localVarReturnValue, localVarHttpResponse, nil
  3050  }
  3051  
  3052  /* 
  3053  ABitOfEverythingServiceApiService
  3054   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3055   * @param singleNestedName name is nested field.
  3056   * @param body
  3057  
  3058  @return ExamplepbABitOfEverything
  3059  */
  3060  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceDeepPathEcho(ctx context.Context, singleNestedName string, body ABitOfEverythingServiceDeepPathEchoBody) (ExamplepbABitOfEverything, *http.Response, error) {
  3061  	var (
  3062  		localVarHttpMethod = strings.ToUpper("Post")
  3063  		localVarPostBody   interface{}
  3064  		localVarFileName   string
  3065  		localVarFileBytes  []byte
  3066  		localVarReturnValue ExamplepbABitOfEverything
  3067  	)
  3068  
  3069  	// create path and map variables
  3070  	localVarPath := a.client.cfg.BasePath + "/v1/example/deep_path/{singleNested.name}"
  3071  	localVarPath = strings.Replace(localVarPath, "{"+"singleNested.name"+"}", fmt.Sprintf("%v", singleNestedName), -1)
  3072  
  3073  	localVarHeaderParams := make(map[string]string)
  3074  	localVarQueryParams := url.Values{}
  3075  	localVarFormParams := url.Values{}
  3076  
  3077  	// to determine the Content-Type header
  3078  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  3079  
  3080  	// set Content-Type header
  3081  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3082  	if localVarHttpContentType != "" {
  3083  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3084  	}
  3085  
  3086  	// to determine the Accept header
  3087  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  3088  
  3089  	// set Accept header
  3090  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3091  	if localVarHttpHeaderAccept != "" {
  3092  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3093  	}
  3094  	// body params
  3095  	localVarPostBody = &body
  3096  	if ctx != nil {
  3097  		// API Key Authentication
  3098  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3099  			var key string
  3100  			if auth.Prefix != "" {
  3101  				key = auth.Prefix + " " + auth.Key
  3102  			} else {
  3103  				key = auth.Key
  3104  			}
  3105  			localVarHeaderParams["X-API-Key"] = key
  3106  			
  3107  		}
  3108  	}
  3109  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3110  	if err != nil {
  3111  		return localVarReturnValue, nil, err
  3112  	}
  3113  
  3114  	localVarHttpResponse, err := a.client.callAPI(r)
  3115  	if err != nil || localVarHttpResponse == nil {
  3116  		return localVarReturnValue, localVarHttpResponse, err
  3117  	}
  3118  
  3119  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3120  	localVarHttpResponse.Body.Close()
  3121  	if err != nil {
  3122  		return localVarReturnValue, localVarHttpResponse, err
  3123  	}
  3124  
  3125  	if localVarHttpResponse.StatusCode < 300 {
  3126  		// If we succeed, return the data, otherwise pass on to decode error.
  3127  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3128  		if err == nil { 
  3129  			return localVarReturnValue, localVarHttpResponse, err
  3130  		}
  3131  	}
  3132  
  3133  	if localVarHttpResponse.StatusCode >= 300 {
  3134  		newErr := GenericSwaggerError{
  3135  			body: localVarBody,
  3136  			error: localVarHttpResponse.Status,
  3137  		}
  3138  		
  3139  		if localVarHttpResponse.StatusCode == 200 {
  3140  			var v ExamplepbABitOfEverything
  3141  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3142  				if err != nil {
  3143  					newErr.error = err.Error()
  3144  					return localVarReturnValue, localVarHttpResponse, newErr
  3145  				}
  3146  				newErr.model = v
  3147  				return localVarReturnValue, localVarHttpResponse, newErr
  3148  		}
  3149  		
  3150  		if localVarHttpResponse.StatusCode == 403 {
  3151  			var v interface{}
  3152  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3153  				if err != nil {
  3154  					newErr.error = err.Error()
  3155  					return localVarReturnValue, localVarHttpResponse, newErr
  3156  				}
  3157  				newErr.model = v
  3158  				return localVarReturnValue, localVarHttpResponse, newErr
  3159  		}
  3160  		
  3161  		if localVarHttpResponse.StatusCode == 404 {
  3162  			var v string
  3163  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3164  				if err != nil {
  3165  					newErr.error = err.Error()
  3166  					return localVarReturnValue, localVarHttpResponse, newErr
  3167  				}
  3168  				newErr.model = v
  3169  				return localVarReturnValue, localVarHttpResponse, newErr
  3170  		}
  3171  		
  3172  		if localVarHttpResponse.StatusCode == 418 {
  3173  			var v ExamplepbNumericEnum
  3174  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3175  				if err != nil {
  3176  					newErr.error = err.Error()
  3177  					return localVarReturnValue, localVarHttpResponse, newErr
  3178  				}
  3179  				newErr.model = v
  3180  				return localVarReturnValue, localVarHttpResponse, newErr
  3181  		}
  3182  		
  3183  		if localVarHttpResponse.StatusCode == 500 {
  3184  			var v ExamplepbErrorResponse
  3185  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3186  				if err != nil {
  3187  					newErr.error = err.Error()
  3188  					return localVarReturnValue, localVarHttpResponse, newErr
  3189  				}
  3190  				newErr.model = v
  3191  				return localVarReturnValue, localVarHttpResponse, newErr
  3192  		}
  3193  		
  3194  		if localVarHttpResponse.StatusCode == 0 {
  3195  			var v RpcStatus
  3196  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3197  				if err != nil {
  3198  					newErr.error = err.Error()
  3199  					return localVarReturnValue, localVarHttpResponse, newErr
  3200  				}
  3201  				newErr.model = v
  3202  				return localVarReturnValue, localVarHttpResponse, newErr
  3203  		}
  3204  		
  3205  		return localVarReturnValue, localVarHttpResponse, newErr
  3206  	}
  3207  
  3208  	return localVarReturnValue, localVarHttpResponse, nil
  3209  }
  3210  
  3211  /* 
  3212  ABitOfEverythingServiceApiService
  3213   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3214   * @param uuidName
  3215   * @param floatValue Float value field
  3216   * @param doubleValue
  3217   * @param int64Value
  3218   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  3219   * @param requiredStringField1
  3220   * @param requiredStringField2
  3221   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  3222   * @param requiredFieldSchemaJsonNameCustom
  3223   * @param optional nil or *ABitOfEverythingServiceDoubleColonOpts - Optional Parameters:
  3224       * @param "SingleNestedName" (optional.String) -  name is nested field.
  3225       * @param "SingleNestedAmount" (optional.Int64) - 
  3226       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  3227       * @param "Uint64Value" (optional.String) - 
  3228       * @param "Int32Value" (optional.Int32) - 
  3229       * @param "Fixed64Value" (optional.String) - 
  3230       * @param "Fixed32Value" (optional.Int64) - 
  3231       * @param "BoolValue" (optional.Bool) - 
  3232       * @param "StringValue" (optional.String) - 
  3233       * @param "BytesValue" (optional.String) - 
  3234       * @param "Uint32Value" (optional.Int64) - 
  3235       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
  3236       * @param "PathEnumValue" (optional.String) - 
  3237       * @param "NestedPathEnumValue" (optional.String) - 
  3238       * @param "Sfixed32Value" (optional.Int32) - 
  3239       * @param "Sfixed64Value" (optional.String) - 
  3240       * @param "Sint32Value" (optional.Int32) - 
  3241       * @param "Sint64Value" (optional.String) - 
  3242       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  3243       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  3244       * @param "OneofString" (optional.String) - 
  3245       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3246       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3247       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3248       * @param "NonConventionalNameValue" (optional.String) - 
  3249       * @param "TimestampValue" (optional.Time) - 
  3250       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  3251       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  3252       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  3253       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  3254       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  3255       * @param "NestedAnnotationAmount" (optional.Int64) - 
  3256       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  3257       * @param "Int64OverrideType" (optional.Int64) - 
  3258       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  3259       * @param "OptionalStringValue" (optional.String) - 
  3260       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  3261       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  3262       * @param "TrailingOnly" (optional.String) -  Trailing only
  3263       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  3264       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  3265       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  3266       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  3267  
  3268  @return ExamplepbABitOfEverything
  3269  */
  3270  
  3271  type ABitOfEverythingServiceDoubleColonOpts struct { 
  3272  	SingleNestedName optional.String
  3273  	SingleNestedAmount optional.Int64
  3274  	SingleNestedOk optional.String
  3275  	Uint64Value optional.String
  3276  	Int32Value optional.Int32
  3277  	Fixed64Value optional.String
  3278  	Fixed32Value optional.Int64
  3279  	BoolValue optional.Bool
  3280  	StringValue optional.String
  3281  	BytesValue optional.String
  3282  	Uint32Value optional.Int64
  3283  	EnumValue optional.String
  3284  	PathEnumValue optional.String
  3285  	NestedPathEnumValue optional.String
  3286  	Sfixed32Value optional.Int32
  3287  	Sfixed64Value optional.String
  3288  	Sint32Value optional.Int32
  3289  	Sint64Value optional.String
  3290  	RepeatedStringValue optional.Interface
  3291  	OneofEmpty optional.Interface
  3292  	OneofString optional.String
  3293  	MapValue optional.Interface
  3294  	MappedStringValue optional.String
  3295  	MappedNestedValue optional.Interface
  3296  	NonConventionalNameValue optional.String
  3297  	TimestampValue optional.Time
  3298  	RepeatedEnumValue optional.Interface
  3299  	RepeatedEnumAnnotation optional.Interface
  3300  	EnumValueAnnotation optional.String
  3301  	RepeatedStringAnnotation optional.Interface
  3302  	NestedAnnotationName optional.String
  3303  	NestedAnnotationAmount optional.Int64
  3304  	NestedAnnotationOk optional.String
  3305  	Int64OverrideType optional.Int64
  3306  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  3307  	OptionalStringValue optional.String
  3308  	ProductId optional.Interface
  3309  	OptionalStringField optional.String
  3310  	TrailingOnly optional.String
  3311  	TrailingOnlyDot optional.String
  3312  	TrailingBoth optional.String
  3313  	TrailingMultiline optional.String
  3314  	Uuids optional.Interface
  3315  }
  3316  
  3317  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceDoubleColon(ctx context.Context, uuidName string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceDoubleColonOpts) (ExamplepbABitOfEverything, *http.Response, error) {
  3318  	var (
  3319  		localVarHttpMethod = strings.ToUpper("Post")
  3320  		localVarPostBody   interface{}
  3321  		localVarFileName   string
  3322  		localVarFileBytes  []byte
  3323  		localVarReturnValue ExamplepbABitOfEverything
  3324  	)
  3325  
  3326  	// create path and map variables
  3327  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuidName}:custom:custom"
  3328  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  3329  
  3330  	localVarHeaderParams := make(map[string]string)
  3331  	localVarQueryParams := url.Values{}
  3332  	localVarFormParams := url.Values{}
  3333  
  3334  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
  3335  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
  3336  	}
  3337  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
  3338  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
  3339  	}
  3340  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
  3341  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
  3342  	}
  3343  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
  3344  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
  3345  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
  3346  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
  3347  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
  3348  	}
  3349  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
  3350  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
  3351  	}
  3352  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
  3353  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
  3354  	}
  3355  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
  3356  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
  3357  	}
  3358  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
  3359  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
  3360  	}
  3361  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
  3362  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
  3363  	}
  3364  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  3365  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  3366  	}
  3367  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
  3368  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
  3369  	}
  3370  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
  3371  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
  3372  	}
  3373  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
  3374  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
  3375  	}
  3376  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
  3377  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
  3378  	}
  3379  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
  3380  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
  3381  	}
  3382  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
  3383  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
  3384  	}
  3385  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
  3386  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
  3387  	}
  3388  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
  3389  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
  3390  	}
  3391  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  3392  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  3393  	}
  3394  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  3395  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  3396  	}
  3397  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  3398  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  3399  	}
  3400  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  3401  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  3402  	}
  3403  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  3404  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  3405  	}
  3406  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  3407  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  3408  	}
  3409  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
  3410  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
  3411  	}
  3412  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  3413  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  3414  	}
  3415  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  3416  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  3417  	}
  3418  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  3419  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  3420  	}
  3421  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
  3422  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
  3423  	}
  3424  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  3425  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  3426  	}
  3427  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  3428  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  3429  	}
  3430  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  3431  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  3432  	}
  3433  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  3434  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  3435  	}
  3436  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  3437  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  3438  	}
  3439  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  3440  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  3441  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  3442  	}
  3443  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  3444  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  3445  	}
  3446  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  3447  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  3448  	}
  3449  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  3450  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  3451  	}
  3452  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  3453  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  3454  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  3455  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  3456  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  3457  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  3458  	}
  3459  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  3460  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  3461  	}
  3462  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  3463  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  3464  	}
  3465  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  3466  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  3467  	}
  3468  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  3469  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  3470  	}
  3471  	// to determine the Content-Type header
  3472  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  3473  
  3474  	// set Content-Type header
  3475  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3476  	if localVarHttpContentType != "" {
  3477  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3478  	}
  3479  
  3480  	// to determine the Accept header
  3481  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  3482  
  3483  	// set Accept header
  3484  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3485  	if localVarHttpHeaderAccept != "" {
  3486  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3487  	}
  3488  	if ctx != nil {
  3489  		// API Key Authentication
  3490  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3491  			var key string
  3492  			if auth.Prefix != "" {
  3493  				key = auth.Prefix + " " + auth.Key
  3494  			} else {
  3495  				key = auth.Key
  3496  			}
  3497  			localVarHeaderParams["X-API-Key"] = key
  3498  			
  3499  		}
  3500  	}
  3501  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3502  	if err != nil {
  3503  		return localVarReturnValue, nil, err
  3504  	}
  3505  
  3506  	localVarHttpResponse, err := a.client.callAPI(r)
  3507  	if err != nil || localVarHttpResponse == nil {
  3508  		return localVarReturnValue, localVarHttpResponse, err
  3509  	}
  3510  
  3511  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3512  	localVarHttpResponse.Body.Close()
  3513  	if err != nil {
  3514  		return localVarReturnValue, localVarHttpResponse, err
  3515  	}
  3516  
  3517  	if localVarHttpResponse.StatusCode < 300 {
  3518  		// If we succeed, return the data, otherwise pass on to decode error.
  3519  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3520  		if err == nil { 
  3521  			return localVarReturnValue, localVarHttpResponse, err
  3522  		}
  3523  	}
  3524  
  3525  	if localVarHttpResponse.StatusCode >= 300 {
  3526  		newErr := GenericSwaggerError{
  3527  			body: localVarBody,
  3528  			error: localVarHttpResponse.Status,
  3529  		}
  3530  		
  3531  		if localVarHttpResponse.StatusCode == 200 {
  3532  			var v ExamplepbABitOfEverything
  3533  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3534  				if err != nil {
  3535  					newErr.error = err.Error()
  3536  					return localVarReturnValue, localVarHttpResponse, newErr
  3537  				}
  3538  				newErr.model = v
  3539  				return localVarReturnValue, localVarHttpResponse, newErr
  3540  		}
  3541  		
  3542  		if localVarHttpResponse.StatusCode == 403 {
  3543  			var v interface{}
  3544  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3545  				if err != nil {
  3546  					newErr.error = err.Error()
  3547  					return localVarReturnValue, localVarHttpResponse, newErr
  3548  				}
  3549  				newErr.model = v
  3550  				return localVarReturnValue, localVarHttpResponse, newErr
  3551  		}
  3552  		
  3553  		if localVarHttpResponse.StatusCode == 404 {
  3554  			var v string
  3555  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3556  				if err != nil {
  3557  					newErr.error = err.Error()
  3558  					return localVarReturnValue, localVarHttpResponse, newErr
  3559  				}
  3560  				newErr.model = v
  3561  				return localVarReturnValue, localVarHttpResponse, newErr
  3562  		}
  3563  		
  3564  		if localVarHttpResponse.StatusCode == 418 {
  3565  			var v ExamplepbNumericEnum
  3566  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3567  				if err != nil {
  3568  					newErr.error = err.Error()
  3569  					return localVarReturnValue, localVarHttpResponse, newErr
  3570  				}
  3571  				newErr.model = v
  3572  				return localVarReturnValue, localVarHttpResponse, newErr
  3573  		}
  3574  		
  3575  		if localVarHttpResponse.StatusCode == 500 {
  3576  			var v ExamplepbErrorResponse
  3577  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3578  				if err != nil {
  3579  					newErr.error = err.Error()
  3580  					return localVarReturnValue, localVarHttpResponse, newErr
  3581  				}
  3582  				newErr.model = v
  3583  				return localVarReturnValue, localVarHttpResponse, newErr
  3584  		}
  3585  		
  3586  		if localVarHttpResponse.StatusCode == 0 {
  3587  			var v RpcStatus
  3588  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3589  				if err != nil {
  3590  					newErr.error = err.Error()
  3591  					return localVarReturnValue, localVarHttpResponse, newErr
  3592  				}
  3593  				newErr.model = v
  3594  				return localVarReturnValue, localVarHttpResponse, newErr
  3595  		}
  3596  		
  3597  		return localVarReturnValue, localVarHttpResponse, newErr
  3598  	}
  3599  
  3600  	return localVarReturnValue, localVarHttpResponse, nil
  3601  }
  3602  
  3603  /* 
  3604  ABitOfEverythingServiceApiService
  3605   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3606  
  3607  @return interface{}
  3608  */
  3609  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceErrorWithDetails(ctx context.Context) (interface{}, *http.Response, error) {
  3610  	var (
  3611  		localVarHttpMethod = strings.ToUpper("Get")
  3612  		localVarPostBody   interface{}
  3613  		localVarFileName   string
  3614  		localVarFileBytes  []byte
  3615  		localVarReturnValue interface{}
  3616  	)
  3617  
  3618  	// create path and map variables
  3619  	localVarPath := a.client.cfg.BasePath + "/v2/example/errorwithdetails"
  3620  
  3621  	localVarHeaderParams := make(map[string]string)
  3622  	localVarQueryParams := url.Values{}
  3623  	localVarFormParams := url.Values{}
  3624  
  3625  	// to determine the Content-Type header
  3626  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  3627  
  3628  	// set Content-Type header
  3629  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3630  	if localVarHttpContentType != "" {
  3631  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3632  	}
  3633  
  3634  	// to determine the Accept header
  3635  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  3636  
  3637  	// set Accept header
  3638  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3639  	if localVarHttpHeaderAccept != "" {
  3640  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3641  	}
  3642  	if ctx != nil {
  3643  		// API Key Authentication
  3644  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3645  			var key string
  3646  			if auth.Prefix != "" {
  3647  				key = auth.Prefix + " " + auth.Key
  3648  			} else {
  3649  				key = auth.Key
  3650  			}
  3651  			localVarHeaderParams["X-API-Key"] = key
  3652  			
  3653  		}
  3654  	}
  3655  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3656  	if err != nil {
  3657  		return localVarReturnValue, nil, err
  3658  	}
  3659  
  3660  	localVarHttpResponse, err := a.client.callAPI(r)
  3661  	if err != nil || localVarHttpResponse == nil {
  3662  		return localVarReturnValue, localVarHttpResponse, err
  3663  	}
  3664  
  3665  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3666  	localVarHttpResponse.Body.Close()
  3667  	if err != nil {
  3668  		return localVarReturnValue, localVarHttpResponse, err
  3669  	}
  3670  
  3671  	if localVarHttpResponse.StatusCode < 300 {
  3672  		// If we succeed, return the data, otherwise pass on to decode error.
  3673  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3674  		if err == nil { 
  3675  			return localVarReturnValue, localVarHttpResponse, err
  3676  		}
  3677  	}
  3678  
  3679  	if localVarHttpResponse.StatusCode >= 300 {
  3680  		newErr := GenericSwaggerError{
  3681  			body: localVarBody,
  3682  			error: localVarHttpResponse.Status,
  3683  		}
  3684  		
  3685  		if localVarHttpResponse.StatusCode == 200 {
  3686  			var v interface{}
  3687  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3688  				if err != nil {
  3689  					newErr.error = err.Error()
  3690  					return localVarReturnValue, localVarHttpResponse, newErr
  3691  				}
  3692  				newErr.model = v
  3693  				return localVarReturnValue, localVarHttpResponse, newErr
  3694  		}
  3695  		
  3696  		if localVarHttpResponse.StatusCode == 403 {
  3697  			var v interface{}
  3698  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3699  				if err != nil {
  3700  					newErr.error = err.Error()
  3701  					return localVarReturnValue, localVarHttpResponse, newErr
  3702  				}
  3703  				newErr.model = v
  3704  				return localVarReturnValue, localVarHttpResponse, newErr
  3705  		}
  3706  		
  3707  		if localVarHttpResponse.StatusCode == 404 {
  3708  			var v string
  3709  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3710  				if err != nil {
  3711  					newErr.error = err.Error()
  3712  					return localVarReturnValue, localVarHttpResponse, newErr
  3713  				}
  3714  				newErr.model = v
  3715  				return localVarReturnValue, localVarHttpResponse, newErr
  3716  		}
  3717  		
  3718  		if localVarHttpResponse.StatusCode == 418 {
  3719  			var v ExamplepbNumericEnum
  3720  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3721  				if err != nil {
  3722  					newErr.error = err.Error()
  3723  					return localVarReturnValue, localVarHttpResponse, newErr
  3724  				}
  3725  				newErr.model = v
  3726  				return localVarReturnValue, localVarHttpResponse, newErr
  3727  		}
  3728  		
  3729  		if localVarHttpResponse.StatusCode == 500 {
  3730  			var v ExamplepbErrorResponse
  3731  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3732  				if err != nil {
  3733  					newErr.error = err.Error()
  3734  					return localVarReturnValue, localVarHttpResponse, newErr
  3735  				}
  3736  				newErr.model = v
  3737  				return localVarReturnValue, localVarHttpResponse, newErr
  3738  		}
  3739  		
  3740  		if localVarHttpResponse.StatusCode == 0 {
  3741  			var v RpcStatus
  3742  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  3743  				if err != nil {
  3744  					newErr.error = err.Error()
  3745  					return localVarReturnValue, localVarHttpResponse, newErr
  3746  				}
  3747  				newErr.model = v
  3748  				return localVarReturnValue, localVarHttpResponse, newErr
  3749  		}
  3750  		
  3751  		return localVarReturnValue, localVarHttpResponse, newErr
  3752  	}
  3753  
  3754  	return localVarReturnValue, localVarHttpResponse, nil
  3755  }
  3756  
  3757  /* 
  3758  ABitOfEverythingServiceApiService
  3759   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3760   * @param uuidName
  3761   * @param floatValue Float value field
  3762   * @param doubleValue
  3763   * @param int64Value
  3764   * @param requiredStringViaFieldBehaviorAnnotation mark a field as required in Open API definition
  3765   * @param requiredStringField1
  3766   * @param requiredStringField2
  3767   * @param requiredFieldBehaviorJsonNameCustom Test openapiv2 handling of required json_name fields
  3768   * @param requiredFieldSchemaJsonNameCustom
  3769   * @param optional nil or *ABitOfEverythingServiceExistsOpts - Optional Parameters:
  3770       * @param "SingleNestedName" (optional.String) -  name is nested field.
  3771       * @param "SingleNestedAmount" (optional.Int64) - 
  3772       * @param "SingleNestedOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  3773       * @param "Uint64Value" (optional.String) - 
  3774       * @param "Int32Value" (optional.Int32) - 
  3775       * @param "Fixed64Value" (optional.String) - 
  3776       * @param "Fixed32Value" (optional.Int64) - 
  3777       * @param "BoolValue" (optional.Bool) - 
  3778       * @param "StringValue" (optional.String) - 
  3779       * @param "BytesValue" (optional.String) - 
  3780       * @param "Uint32Value" (optional.Int64) - 
  3781       * @param "EnumValue" (optional.String) -   - ZERO: ZERO means 0  - ONE: ONE means 1
  3782       * @param "PathEnumValue" (optional.String) - 
  3783       * @param "NestedPathEnumValue" (optional.String) - 
  3784       * @param "Sfixed32Value" (optional.Int32) - 
  3785       * @param "Sfixed64Value" (optional.String) - 
  3786       * @param "Sint32Value" (optional.Int32) - 
  3787       * @param "Sint64Value" (optional.String) - 
  3788       * @param "RepeatedStringValue" (optional.Interface of []string) - 
  3789       * @param "OneofEmpty" (optional.Interface of map[string]string) - 
  3790       * @param "OneofString" (optional.String) - 
  3791       * @param "MapValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3792       * @param "MappedStringValue" (optional.String) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3793       * @param "MappedNestedValue" (optional.Interface of interface{}) -  This is a request variable of the map type. The query format is \&quot;map_name[key]&#x3D;value\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\&quot;bob\&quot;]&#x3D;18
  3794       * @param "NonConventionalNameValue" (optional.String) - 
  3795       * @param "TimestampValue" (optional.Time) - 
  3796       * @param "RepeatedEnumValue" (optional.Interface of []string) -  repeated enum value. it is comma-separated in query   - ZERO: ZERO means 0  - ONE: ONE means 1
  3797       * @param "RepeatedEnumAnnotation" (optional.Interface of []string) -  Repeated numeric enum title  Repeated numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  3798       * @param "EnumValueAnnotation" (optional.String) -  Numeric enum title  Numeric enum description.   - ZERO: ZERO means 0  - ONE: ONE means 1
  3799       * @param "RepeatedStringAnnotation" (optional.Interface of []string) -  Repeated string title  Repeated string description.
  3800       * @param "NestedAnnotationName" (optional.String) -  name is nested field.
  3801       * @param "NestedAnnotationAmount" (optional.Int64) - 
  3802       * @param "NestedAnnotationOk" (optional.String) -  DeepEnum description.   - FALSE: FALSE is false.  - TRUE: TRUE is true.
  3803       * @param "Int64OverrideType" (optional.Int64) - 
  3804       * @param "OutputOnlyStringViaFieldBehaviorAnnotation" (optional.String) -  mark a field as readonly in Open API definition
  3805       * @param "OptionalStringValue" (optional.String) - 
  3806       * @param "ProductId" (optional.Interface of []string) -  Test openapiv2 generation of repeated fields  Only digits are allowed.
  3807       * @param "OptionalStringField" (optional.String) -  Test openapiv2 generation of required fields with annotation and jsonschema to reproduce
  3808       * @param "TrailingOnly" (optional.String) -  Trailing only
  3809       * @param "TrailingOnlyDot" (optional.String) -  Trailing only dot.
  3810       * @param "TrailingBoth" (optional.String) -  Leading both  Trailing both.
  3811       * @param "TrailingMultiline" (optional.String) -  Leading multiline  This is an example of a multi-line comment.  Trailing multiline.
  3812       * @param "Uuids" (optional.Interface of []string) -  Specify a custom format of repeated field items
  3813  
  3814  @return interface{}
  3815  */
  3816  
  3817  type ABitOfEverythingServiceExistsOpts struct { 
  3818  	SingleNestedName optional.String
  3819  	SingleNestedAmount optional.Int64
  3820  	SingleNestedOk optional.String
  3821  	Uint64Value optional.String
  3822  	Int32Value optional.Int32
  3823  	Fixed64Value optional.String
  3824  	Fixed32Value optional.Int64
  3825  	BoolValue optional.Bool
  3826  	StringValue optional.String
  3827  	BytesValue optional.String
  3828  	Uint32Value optional.Int64
  3829  	EnumValue optional.String
  3830  	PathEnumValue optional.String
  3831  	NestedPathEnumValue optional.String
  3832  	Sfixed32Value optional.Int32
  3833  	Sfixed64Value optional.String
  3834  	Sint32Value optional.Int32
  3835  	Sint64Value optional.String
  3836  	RepeatedStringValue optional.Interface
  3837  	OneofEmpty optional.Interface
  3838  	OneofString optional.String
  3839  	MapValue optional.Interface
  3840  	MappedStringValue optional.String
  3841  	MappedNestedValue optional.Interface
  3842  	NonConventionalNameValue optional.String
  3843  	TimestampValue optional.Time
  3844  	RepeatedEnumValue optional.Interface
  3845  	RepeatedEnumAnnotation optional.Interface
  3846  	EnumValueAnnotation optional.String
  3847  	RepeatedStringAnnotation optional.Interface
  3848  	NestedAnnotationName optional.String
  3849  	NestedAnnotationAmount optional.Int64
  3850  	NestedAnnotationOk optional.String
  3851  	Int64OverrideType optional.Int64
  3852  	OutputOnlyStringViaFieldBehaviorAnnotation optional.String
  3853  	OptionalStringValue optional.String
  3854  	ProductId optional.Interface
  3855  	OptionalStringField optional.String
  3856  	TrailingOnly optional.String
  3857  	TrailingOnlyDot optional.String
  3858  	TrailingBoth optional.String
  3859  	TrailingMultiline optional.String
  3860  	Uuids optional.Interface
  3861  }
  3862  
  3863  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceExists(ctx context.Context, uuidName string, floatValue float32, doubleValue float64, int64Value string, requiredStringViaFieldBehaviorAnnotation string, requiredStringField1 string, requiredStringField2 string, requiredFieldBehaviorJsonNameCustom string, requiredFieldSchemaJsonNameCustom string, localVarOptionals *ABitOfEverythingServiceExistsOpts) (interface{}, *http.Response, error) {
  3864  	var (
  3865  		localVarHttpMethod = strings.ToUpper("Head")
  3866  		localVarPostBody   interface{}
  3867  		localVarFileName   string
  3868  		localVarFileBytes  []byte
  3869  		localVarReturnValue interface{}
  3870  	)
  3871  
  3872  	// create path and map variables
  3873  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuidName}"
  3874  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  3875  
  3876  	localVarHeaderParams := make(map[string]string)
  3877  	localVarQueryParams := url.Values{}
  3878  	localVarFormParams := url.Values{}
  3879  
  3880  	if localVarOptionals != nil && localVarOptionals.SingleNestedName.IsSet() {
  3881  		localVarQueryParams.Add("singleNested.name", parameterToString(localVarOptionals.SingleNestedName.Value(), ""))
  3882  	}
  3883  	if localVarOptionals != nil && localVarOptionals.SingleNestedAmount.IsSet() {
  3884  		localVarQueryParams.Add("singleNested.amount", parameterToString(localVarOptionals.SingleNestedAmount.Value(), ""))
  3885  	}
  3886  	if localVarOptionals != nil && localVarOptionals.SingleNestedOk.IsSet() {
  3887  		localVarQueryParams.Add("singleNested.ok", parameterToString(localVarOptionals.SingleNestedOk.Value(), ""))
  3888  	}
  3889  	localVarQueryParams.Add("floatValue", parameterToString(floatValue, ""))
  3890  	localVarQueryParams.Add("doubleValue", parameterToString(doubleValue, ""))
  3891  	localVarQueryParams.Add("int64Value", parameterToString(int64Value, ""))
  3892  	if localVarOptionals != nil && localVarOptionals.Uint64Value.IsSet() {
  3893  		localVarQueryParams.Add("uint64Value", parameterToString(localVarOptionals.Uint64Value.Value(), ""))
  3894  	}
  3895  	if localVarOptionals != nil && localVarOptionals.Int32Value.IsSet() {
  3896  		localVarQueryParams.Add("int32Value", parameterToString(localVarOptionals.Int32Value.Value(), ""))
  3897  	}
  3898  	if localVarOptionals != nil && localVarOptionals.Fixed64Value.IsSet() {
  3899  		localVarQueryParams.Add("fixed64Value", parameterToString(localVarOptionals.Fixed64Value.Value(), ""))
  3900  	}
  3901  	if localVarOptionals != nil && localVarOptionals.Fixed32Value.IsSet() {
  3902  		localVarQueryParams.Add("fixed32Value", parameterToString(localVarOptionals.Fixed32Value.Value(), ""))
  3903  	}
  3904  	if localVarOptionals != nil && localVarOptionals.BoolValue.IsSet() {
  3905  		localVarQueryParams.Add("boolValue", parameterToString(localVarOptionals.BoolValue.Value(), ""))
  3906  	}
  3907  	if localVarOptionals != nil && localVarOptionals.StringValue.IsSet() {
  3908  		localVarQueryParams.Add("stringValue", parameterToString(localVarOptionals.StringValue.Value(), ""))
  3909  	}
  3910  	if localVarOptionals != nil && localVarOptionals.BytesValue.IsSet() {
  3911  		localVarQueryParams.Add("bytesValue", parameterToString(localVarOptionals.BytesValue.Value(), ""))
  3912  	}
  3913  	if localVarOptionals != nil && localVarOptionals.Uint32Value.IsSet() {
  3914  		localVarQueryParams.Add("uint32Value", parameterToString(localVarOptionals.Uint32Value.Value(), ""))
  3915  	}
  3916  	if localVarOptionals != nil && localVarOptionals.EnumValue.IsSet() {
  3917  		localVarQueryParams.Add("enumValue", parameterToString(localVarOptionals.EnumValue.Value(), ""))
  3918  	}
  3919  	if localVarOptionals != nil && localVarOptionals.PathEnumValue.IsSet() {
  3920  		localVarQueryParams.Add("pathEnumValue", parameterToString(localVarOptionals.PathEnumValue.Value(), ""))
  3921  	}
  3922  	if localVarOptionals != nil && localVarOptionals.NestedPathEnumValue.IsSet() {
  3923  		localVarQueryParams.Add("nestedPathEnumValue", parameterToString(localVarOptionals.NestedPathEnumValue.Value(), ""))
  3924  	}
  3925  	if localVarOptionals != nil && localVarOptionals.Sfixed32Value.IsSet() {
  3926  		localVarQueryParams.Add("sfixed32Value", parameterToString(localVarOptionals.Sfixed32Value.Value(), ""))
  3927  	}
  3928  	if localVarOptionals != nil && localVarOptionals.Sfixed64Value.IsSet() {
  3929  		localVarQueryParams.Add("sfixed64Value", parameterToString(localVarOptionals.Sfixed64Value.Value(), ""))
  3930  	}
  3931  	if localVarOptionals != nil && localVarOptionals.Sint32Value.IsSet() {
  3932  		localVarQueryParams.Add("sint32Value", parameterToString(localVarOptionals.Sint32Value.Value(), ""))
  3933  	}
  3934  	if localVarOptionals != nil && localVarOptionals.Sint64Value.IsSet() {
  3935  		localVarQueryParams.Add("sint64Value", parameterToString(localVarOptionals.Sint64Value.Value(), ""))
  3936  	}
  3937  	if localVarOptionals != nil && localVarOptionals.RepeatedStringValue.IsSet() {
  3938  		localVarQueryParams.Add("repeatedStringValue", parameterToString(localVarOptionals.RepeatedStringValue.Value(), "multi"))
  3939  	}
  3940  	if localVarOptionals != nil && localVarOptionals.OneofEmpty.IsSet() {
  3941  		localVarQueryParams.Add("oneofEmpty", parameterToString(localVarOptionals.OneofEmpty.Value(), ""))
  3942  	}
  3943  	if localVarOptionals != nil && localVarOptionals.OneofString.IsSet() {
  3944  		localVarQueryParams.Add("oneofString", parameterToString(localVarOptionals.OneofString.Value(), ""))
  3945  	}
  3946  	if localVarOptionals != nil && localVarOptionals.MapValue.IsSet() {
  3947  		localVarQueryParams.Add("mapValue", parameterToString(localVarOptionals.MapValue.Value(), ""))
  3948  	}
  3949  	if localVarOptionals != nil && localVarOptionals.MappedStringValue.IsSet() {
  3950  		localVarQueryParams.Add("mappedStringValue", parameterToString(localVarOptionals.MappedStringValue.Value(), ""))
  3951  	}
  3952  	if localVarOptionals != nil && localVarOptionals.MappedNestedValue.IsSet() {
  3953  		localVarQueryParams.Add("mappedNestedValue", parameterToString(localVarOptionals.MappedNestedValue.Value(), ""))
  3954  	}
  3955  	if localVarOptionals != nil && localVarOptionals.NonConventionalNameValue.IsSet() {
  3956  		localVarQueryParams.Add("nonConventionalNameValue", parameterToString(localVarOptionals.NonConventionalNameValue.Value(), ""))
  3957  	}
  3958  	if localVarOptionals != nil && localVarOptionals.TimestampValue.IsSet() {
  3959  		localVarQueryParams.Add("timestampValue", parameterToString(localVarOptionals.TimestampValue.Value(), ""))
  3960  	}
  3961  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumValue.IsSet() {
  3962  		localVarQueryParams.Add("repeatedEnumValue", parameterToString(localVarOptionals.RepeatedEnumValue.Value(), "multi"))
  3963  	}
  3964  	if localVarOptionals != nil && localVarOptionals.RepeatedEnumAnnotation.IsSet() {
  3965  		localVarQueryParams.Add("repeatedEnumAnnotation", parameterToString(localVarOptionals.RepeatedEnumAnnotation.Value(), "multi"))
  3966  	}
  3967  	if localVarOptionals != nil && localVarOptionals.EnumValueAnnotation.IsSet() {
  3968  		localVarQueryParams.Add("enumValueAnnotation", parameterToString(localVarOptionals.EnumValueAnnotation.Value(), ""))
  3969  	}
  3970  	if localVarOptionals != nil && localVarOptionals.RepeatedStringAnnotation.IsSet() {
  3971  		localVarQueryParams.Add("repeatedStringAnnotation", parameterToString(localVarOptionals.RepeatedStringAnnotation.Value(), "multi"))
  3972  	}
  3973  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationName.IsSet() {
  3974  		localVarQueryParams.Add("nestedAnnotation.name", parameterToString(localVarOptionals.NestedAnnotationName.Value(), ""))
  3975  	}
  3976  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationAmount.IsSet() {
  3977  		localVarQueryParams.Add("nestedAnnotation.amount", parameterToString(localVarOptionals.NestedAnnotationAmount.Value(), ""))
  3978  	}
  3979  	if localVarOptionals != nil && localVarOptionals.NestedAnnotationOk.IsSet() {
  3980  		localVarQueryParams.Add("nestedAnnotation.ok", parameterToString(localVarOptionals.NestedAnnotationOk.Value(), ""))
  3981  	}
  3982  	if localVarOptionals != nil && localVarOptionals.Int64OverrideType.IsSet() {
  3983  		localVarQueryParams.Add("int64OverrideType", parameterToString(localVarOptionals.Int64OverrideType.Value(), ""))
  3984  	}
  3985  	localVarQueryParams.Add("requiredStringViaFieldBehaviorAnnotation", parameterToString(requiredStringViaFieldBehaviorAnnotation, ""))
  3986  	if localVarOptionals != nil && localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.IsSet() {
  3987  		localVarQueryParams.Add("outputOnlyStringViaFieldBehaviorAnnotation", parameterToString(localVarOptionals.OutputOnlyStringViaFieldBehaviorAnnotation.Value(), ""))
  3988  	}
  3989  	if localVarOptionals != nil && localVarOptionals.OptionalStringValue.IsSet() {
  3990  		localVarQueryParams.Add("optionalStringValue", parameterToString(localVarOptionals.OptionalStringValue.Value(), ""))
  3991  	}
  3992  	if localVarOptionals != nil && localVarOptionals.ProductId.IsSet() {
  3993  		localVarQueryParams.Add("productId", parameterToString(localVarOptionals.ProductId.Value(), "multi"))
  3994  	}
  3995  	if localVarOptionals != nil && localVarOptionals.OptionalStringField.IsSet() {
  3996  		localVarQueryParams.Add("optionalStringField", parameterToString(localVarOptionals.OptionalStringField.Value(), ""))
  3997  	}
  3998  	localVarQueryParams.Add("requiredStringField1", parameterToString(requiredStringField1, ""))
  3999  	localVarQueryParams.Add("requiredStringField2", parameterToString(requiredStringField2, ""))
  4000  	localVarQueryParams.Add("required_field_behavior_json_name_custom", parameterToString(requiredFieldBehaviorJsonNameCustom, ""))
  4001  	localVarQueryParams.Add("required_field_schema_json_name_custom", parameterToString(requiredFieldSchemaJsonNameCustom, ""))
  4002  	if localVarOptionals != nil && localVarOptionals.TrailingOnly.IsSet() {
  4003  		localVarQueryParams.Add("trailingOnly", parameterToString(localVarOptionals.TrailingOnly.Value(), ""))
  4004  	}
  4005  	if localVarOptionals != nil && localVarOptionals.TrailingOnlyDot.IsSet() {
  4006  		localVarQueryParams.Add("trailingOnlyDot", parameterToString(localVarOptionals.TrailingOnlyDot.Value(), ""))
  4007  	}
  4008  	if localVarOptionals != nil && localVarOptionals.TrailingBoth.IsSet() {
  4009  		localVarQueryParams.Add("trailingBoth", parameterToString(localVarOptionals.TrailingBoth.Value(), ""))
  4010  	}
  4011  	if localVarOptionals != nil && localVarOptionals.TrailingMultiline.IsSet() {
  4012  		localVarQueryParams.Add("trailingMultiline", parameterToString(localVarOptionals.TrailingMultiline.Value(), ""))
  4013  	}
  4014  	if localVarOptionals != nil && localVarOptionals.Uuids.IsSet() {
  4015  		localVarQueryParams.Add("uuids", parameterToString(localVarOptionals.Uuids.Value(), "multi"))
  4016  	}
  4017  	// to determine the Content-Type header
  4018  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4019  
  4020  	// set Content-Type header
  4021  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4022  	if localVarHttpContentType != "" {
  4023  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4024  	}
  4025  
  4026  	// to determine the Accept header
  4027  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4028  
  4029  	// set Accept header
  4030  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4031  	if localVarHttpHeaderAccept != "" {
  4032  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4033  	}
  4034  	if ctx != nil {
  4035  		// API Key Authentication
  4036  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4037  			var key string
  4038  			if auth.Prefix != "" {
  4039  				key = auth.Prefix + " " + auth.Key
  4040  			} else {
  4041  				key = auth.Key
  4042  			}
  4043  			localVarHeaderParams["X-API-Key"] = key
  4044  			
  4045  		}
  4046  	}
  4047  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4048  	if err != nil {
  4049  		return localVarReturnValue, nil, err
  4050  	}
  4051  
  4052  	localVarHttpResponse, err := a.client.callAPI(r)
  4053  	if err != nil || localVarHttpResponse == nil {
  4054  		return localVarReturnValue, localVarHttpResponse, err
  4055  	}
  4056  
  4057  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4058  	localVarHttpResponse.Body.Close()
  4059  	if err != nil {
  4060  		return localVarReturnValue, localVarHttpResponse, err
  4061  	}
  4062  
  4063  	if localVarHttpResponse.StatusCode < 300 {
  4064  		// If we succeed, return the data, otherwise pass on to decode error.
  4065  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4066  		if err == nil { 
  4067  			return localVarReturnValue, localVarHttpResponse, err
  4068  		}
  4069  	}
  4070  
  4071  	if localVarHttpResponse.StatusCode >= 300 {
  4072  		newErr := GenericSwaggerError{
  4073  			body: localVarBody,
  4074  			error: localVarHttpResponse.Status,
  4075  		}
  4076  		
  4077  		if localVarHttpResponse.StatusCode == 200 {
  4078  			var v interface{}
  4079  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4080  				if err != nil {
  4081  					newErr.error = err.Error()
  4082  					return localVarReturnValue, localVarHttpResponse, newErr
  4083  				}
  4084  				newErr.model = v
  4085  				return localVarReturnValue, localVarHttpResponse, newErr
  4086  		}
  4087  		
  4088  		if localVarHttpResponse.StatusCode == 0 {
  4089  			var v RpcStatus
  4090  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4091  				if err != nil {
  4092  					newErr.error = err.Error()
  4093  					return localVarReturnValue, localVarHttpResponse, newErr
  4094  				}
  4095  				newErr.model = v
  4096  				return localVarReturnValue, localVarHttpResponse, newErr
  4097  		}
  4098  		
  4099  		return localVarReturnValue, localVarHttpResponse, newErr
  4100  	}
  4101  
  4102  	return localVarReturnValue, localVarHttpResponse, nil
  4103  }
  4104  
  4105  /* 
  4106  ABitOfEverythingServiceApiService
  4107   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4108   * @param id
  4109   * @param data
  4110  
  4111  @return interface{}
  4112  */
  4113  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceGetMessageWithBody(ctx context.Context, id string, data ExamplepbBody) (interface{}, *http.Response, error) {
  4114  	var (
  4115  		localVarHttpMethod = strings.ToUpper("Post")
  4116  		localVarPostBody   interface{}
  4117  		localVarFileName   string
  4118  		localVarFileBytes  []byte
  4119  		localVarReturnValue interface{}
  4120  	)
  4121  
  4122  	// create path and map variables
  4123  	localVarPath := a.client.cfg.BasePath + "/v2/example/withbody/{id}"
  4124  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  4125  
  4126  	localVarHeaderParams := make(map[string]string)
  4127  	localVarQueryParams := url.Values{}
  4128  	localVarFormParams := url.Values{}
  4129  
  4130  	// to determine the Content-Type header
  4131  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4132  
  4133  	// set Content-Type header
  4134  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4135  	if localVarHttpContentType != "" {
  4136  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4137  	}
  4138  
  4139  	// to determine the Accept header
  4140  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4141  
  4142  	// set Accept header
  4143  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4144  	if localVarHttpHeaderAccept != "" {
  4145  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4146  	}
  4147  	// body params
  4148  	localVarPostBody = &data
  4149  	if ctx != nil {
  4150  		// API Key Authentication
  4151  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4152  			var key string
  4153  			if auth.Prefix != "" {
  4154  				key = auth.Prefix + " " + auth.Key
  4155  			} else {
  4156  				key = auth.Key
  4157  			}
  4158  			localVarHeaderParams["X-API-Key"] = key
  4159  			
  4160  		}
  4161  	}
  4162  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4163  	if err != nil {
  4164  		return localVarReturnValue, nil, err
  4165  	}
  4166  
  4167  	localVarHttpResponse, err := a.client.callAPI(r)
  4168  	if err != nil || localVarHttpResponse == nil {
  4169  		return localVarReturnValue, localVarHttpResponse, err
  4170  	}
  4171  
  4172  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4173  	localVarHttpResponse.Body.Close()
  4174  	if err != nil {
  4175  		return localVarReturnValue, localVarHttpResponse, err
  4176  	}
  4177  
  4178  	if localVarHttpResponse.StatusCode < 300 {
  4179  		// If we succeed, return the data, otherwise pass on to decode error.
  4180  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4181  		if err == nil { 
  4182  			return localVarReturnValue, localVarHttpResponse, err
  4183  		}
  4184  	}
  4185  
  4186  	if localVarHttpResponse.StatusCode >= 300 {
  4187  		newErr := GenericSwaggerError{
  4188  			body: localVarBody,
  4189  			error: localVarHttpResponse.Status,
  4190  		}
  4191  		
  4192  		if localVarHttpResponse.StatusCode == 200 {
  4193  			var v interface{}
  4194  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4195  				if err != nil {
  4196  					newErr.error = err.Error()
  4197  					return localVarReturnValue, localVarHttpResponse, newErr
  4198  				}
  4199  				newErr.model = v
  4200  				return localVarReturnValue, localVarHttpResponse, newErr
  4201  		}
  4202  		
  4203  		if localVarHttpResponse.StatusCode == 403 {
  4204  			var v interface{}
  4205  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4206  				if err != nil {
  4207  					newErr.error = err.Error()
  4208  					return localVarReturnValue, localVarHttpResponse, newErr
  4209  				}
  4210  				newErr.model = v
  4211  				return localVarReturnValue, localVarHttpResponse, newErr
  4212  		}
  4213  		
  4214  		if localVarHttpResponse.StatusCode == 404 {
  4215  			var v string
  4216  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4217  				if err != nil {
  4218  					newErr.error = err.Error()
  4219  					return localVarReturnValue, localVarHttpResponse, newErr
  4220  				}
  4221  				newErr.model = v
  4222  				return localVarReturnValue, localVarHttpResponse, newErr
  4223  		}
  4224  		
  4225  		if localVarHttpResponse.StatusCode == 418 {
  4226  			var v ExamplepbNumericEnum
  4227  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4228  				if err != nil {
  4229  					newErr.error = err.Error()
  4230  					return localVarReturnValue, localVarHttpResponse, newErr
  4231  				}
  4232  				newErr.model = v
  4233  				return localVarReturnValue, localVarHttpResponse, newErr
  4234  		}
  4235  		
  4236  		if localVarHttpResponse.StatusCode == 500 {
  4237  			var v ExamplepbErrorResponse
  4238  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4239  				if err != nil {
  4240  					newErr.error = err.Error()
  4241  					return localVarReturnValue, localVarHttpResponse, newErr
  4242  				}
  4243  				newErr.model = v
  4244  				return localVarReturnValue, localVarHttpResponse, newErr
  4245  		}
  4246  		
  4247  		if localVarHttpResponse.StatusCode == 0 {
  4248  			var v RpcStatus
  4249  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4250  				if err != nil {
  4251  					newErr.error = err.Error()
  4252  					return localVarReturnValue, localVarHttpResponse, newErr
  4253  				}
  4254  				newErr.model = v
  4255  				return localVarReturnValue, localVarHttpResponse, newErr
  4256  		}
  4257  		
  4258  		return localVarReturnValue, localVarHttpResponse, newErr
  4259  	}
  4260  
  4261  	return localVarReturnValue, localVarHttpResponse, nil
  4262  }
  4263  
  4264  /* 
  4265  ABitOfEverythingServiceApiService
  4266   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4267   * @param pathRepeatedFloatValue repeated values. they are comma-separated in path
  4268   * @param pathRepeatedDoubleValue
  4269   * @param pathRepeatedInt64Value
  4270   * @param pathRepeatedUint64Value
  4271   * @param pathRepeatedInt32Value
  4272   * @param pathRepeatedFixed64Value
  4273   * @param pathRepeatedFixed32Value
  4274   * @param pathRepeatedBoolValue
  4275   * @param pathRepeatedStringValue
  4276   * @param pathRepeatedBytesValue
  4277   * @param pathRepeatedUint32Value
  4278   * @param pathRepeatedEnumValue
  4279   * @param pathRepeatedSfixed32Value
  4280   * @param pathRepeatedSfixed64Value
  4281   * @param pathRepeatedSint32Value
  4282   * @param pathRepeatedSint64Value
  4283  
  4284  @return ExamplepbABitOfEverythingRepeated
  4285  */
  4286  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceGetRepeatedQuery(ctx context.Context, pathRepeatedFloatValue []float32, pathRepeatedDoubleValue []float64, pathRepeatedInt64Value []string, pathRepeatedUint64Value []string, pathRepeatedInt32Value []int32, pathRepeatedFixed64Value []string, pathRepeatedFixed32Value []int64, pathRepeatedBoolValue []bool, pathRepeatedStringValue []string, pathRepeatedBytesValue []string, pathRepeatedUint32Value []int64, pathRepeatedEnumValue []string, pathRepeatedSfixed32Value []int32, pathRepeatedSfixed64Value []string, pathRepeatedSint32Value []int32, pathRepeatedSint64Value []string) (ExamplepbABitOfEverythingRepeated, *http.Response, error) {
  4287  	var (
  4288  		localVarHttpMethod = strings.ToUpper("Get")
  4289  		localVarPostBody   interface{}
  4290  		localVarFileName   string
  4291  		localVarFileBytes  []byte
  4292  		localVarReturnValue ExamplepbABitOfEverythingRepeated
  4293  	)
  4294  
  4295  	// create path and map variables
  4296  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything_repeated/{pathRepeatedFloatValue}/{pathRepeatedDoubleValue}/{pathRepeatedInt64Value}/{pathRepeatedUint64Value}/{pathRepeatedInt32Value}/{pathRepeatedFixed64Value}/{pathRepeatedFixed32Value}/{pathRepeatedBoolValue}/{pathRepeatedStringValue}/{pathRepeatedBytesValue}/{pathRepeatedUint32Value}/{pathRepeatedEnumValue}/{pathRepeatedSfixed32Value}/{pathRepeatedSfixed64Value}/{pathRepeatedSint32Value}/{pathRepeatedSint64Value}"
  4297  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFloatValue"+"}", fmt.Sprintf("%v", pathRepeatedFloatValue), -1)
  4298  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedDoubleValue"+"}", fmt.Sprintf("%v", pathRepeatedDoubleValue), -1)
  4299  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedInt64Value"+"}", fmt.Sprintf("%v", pathRepeatedInt64Value), -1)
  4300  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedUint64Value"+"}", fmt.Sprintf("%v", pathRepeatedUint64Value), -1)
  4301  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedInt32Value"+"}", fmt.Sprintf("%v", pathRepeatedInt32Value), -1)
  4302  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFixed64Value"+"}", fmt.Sprintf("%v", pathRepeatedFixed64Value), -1)
  4303  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFixed32Value"+"}", fmt.Sprintf("%v", pathRepeatedFixed32Value), -1)
  4304  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedBoolValue"+"}", fmt.Sprintf("%v", pathRepeatedBoolValue), -1)
  4305  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedStringValue"+"}", fmt.Sprintf("%v", pathRepeatedStringValue), -1)
  4306  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedBytesValue"+"}", fmt.Sprintf("%v", pathRepeatedBytesValue), -1)
  4307  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedUint32Value"+"}", fmt.Sprintf("%v", pathRepeatedUint32Value), -1)
  4308  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedEnumValue"+"}", fmt.Sprintf("%v", pathRepeatedEnumValue), -1)
  4309  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSfixed32Value"+"}", fmt.Sprintf("%v", pathRepeatedSfixed32Value), -1)
  4310  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSfixed64Value"+"}", fmt.Sprintf("%v", pathRepeatedSfixed64Value), -1)
  4311  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSint32Value"+"}", fmt.Sprintf("%v", pathRepeatedSint32Value), -1)
  4312  	localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSint64Value"+"}", fmt.Sprintf("%v", pathRepeatedSint64Value), -1)
  4313  
  4314  	localVarHeaderParams := make(map[string]string)
  4315  	localVarQueryParams := url.Values{}
  4316  	localVarFormParams := url.Values{}
  4317  	if len(pathRepeatedFloatValue) < 1 {
  4318  		return localVarReturnValue, nil, reportError("pathRepeatedFloatValue must have at least 1 elements")
  4319  	}
  4320  	if len(pathRepeatedDoubleValue) < 1 {
  4321  		return localVarReturnValue, nil, reportError("pathRepeatedDoubleValue must have at least 1 elements")
  4322  	}
  4323  	if len(pathRepeatedInt64Value) < 1 {
  4324  		return localVarReturnValue, nil, reportError("pathRepeatedInt64Value must have at least 1 elements")
  4325  	}
  4326  	if len(pathRepeatedUint64Value) < 1 {
  4327  		return localVarReturnValue, nil, reportError("pathRepeatedUint64Value must have at least 1 elements")
  4328  	}
  4329  	if len(pathRepeatedInt32Value) < 1 {
  4330  		return localVarReturnValue, nil, reportError("pathRepeatedInt32Value must have at least 1 elements")
  4331  	}
  4332  	if len(pathRepeatedFixed64Value) < 1 {
  4333  		return localVarReturnValue, nil, reportError("pathRepeatedFixed64Value must have at least 1 elements")
  4334  	}
  4335  	if len(pathRepeatedFixed32Value) < 1 {
  4336  		return localVarReturnValue, nil, reportError("pathRepeatedFixed32Value must have at least 1 elements")
  4337  	}
  4338  	if len(pathRepeatedBoolValue) < 1 {
  4339  		return localVarReturnValue, nil, reportError("pathRepeatedBoolValue must have at least 1 elements")
  4340  	}
  4341  	if len(pathRepeatedStringValue) < 1 {
  4342  		return localVarReturnValue, nil, reportError("pathRepeatedStringValue must have at least 1 elements")
  4343  	}
  4344  	if len(pathRepeatedBytesValue) < 1 {
  4345  		return localVarReturnValue, nil, reportError("pathRepeatedBytesValue must have at least 1 elements")
  4346  	}
  4347  	if len(pathRepeatedUint32Value) < 1 {
  4348  		return localVarReturnValue, nil, reportError("pathRepeatedUint32Value must have at least 1 elements")
  4349  	}
  4350  	if len(pathRepeatedEnumValue) < 1 {
  4351  		return localVarReturnValue, nil, reportError("pathRepeatedEnumValue must have at least 1 elements")
  4352  	}
  4353  	if len(pathRepeatedSfixed32Value) < 1 {
  4354  		return localVarReturnValue, nil, reportError("pathRepeatedSfixed32Value must have at least 1 elements")
  4355  	}
  4356  	if len(pathRepeatedSfixed64Value) < 1 {
  4357  		return localVarReturnValue, nil, reportError("pathRepeatedSfixed64Value must have at least 1 elements")
  4358  	}
  4359  	if len(pathRepeatedSint32Value) < 1 {
  4360  		return localVarReturnValue, nil, reportError("pathRepeatedSint32Value must have at least 1 elements")
  4361  	}
  4362  	if len(pathRepeatedSint64Value) < 1 {
  4363  		return localVarReturnValue, nil, reportError("pathRepeatedSint64Value must have at least 1 elements")
  4364  	}
  4365  
  4366  	// to determine the Content-Type header
  4367  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4368  
  4369  	// set Content-Type header
  4370  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4371  	if localVarHttpContentType != "" {
  4372  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4373  	}
  4374  
  4375  	// to determine the Accept header
  4376  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4377  
  4378  	// set Accept header
  4379  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4380  	if localVarHttpHeaderAccept != "" {
  4381  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4382  	}
  4383  	if ctx != nil {
  4384  		// API Key Authentication
  4385  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4386  			var key string
  4387  			if auth.Prefix != "" {
  4388  				key = auth.Prefix + " " + auth.Key
  4389  			} else {
  4390  				key = auth.Key
  4391  			}
  4392  			localVarHeaderParams["X-API-Key"] = key
  4393  			
  4394  		}
  4395  	}
  4396  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4397  	if err != nil {
  4398  		return localVarReturnValue, nil, err
  4399  	}
  4400  
  4401  	localVarHttpResponse, err := a.client.callAPI(r)
  4402  	if err != nil || localVarHttpResponse == nil {
  4403  		return localVarReturnValue, localVarHttpResponse, err
  4404  	}
  4405  
  4406  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4407  	localVarHttpResponse.Body.Close()
  4408  	if err != nil {
  4409  		return localVarReturnValue, localVarHttpResponse, err
  4410  	}
  4411  
  4412  	if localVarHttpResponse.StatusCode < 300 {
  4413  		// If we succeed, return the data, otherwise pass on to decode error.
  4414  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4415  		if err == nil { 
  4416  			return localVarReturnValue, localVarHttpResponse, err
  4417  		}
  4418  	}
  4419  
  4420  	if localVarHttpResponse.StatusCode >= 300 {
  4421  		newErr := GenericSwaggerError{
  4422  			body: localVarBody,
  4423  			error: localVarHttpResponse.Status,
  4424  		}
  4425  		
  4426  		if localVarHttpResponse.StatusCode == 200 {
  4427  			var v ExamplepbABitOfEverythingRepeated
  4428  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4429  				if err != nil {
  4430  					newErr.error = err.Error()
  4431  					return localVarReturnValue, localVarHttpResponse, newErr
  4432  				}
  4433  				newErr.model = v
  4434  				return localVarReturnValue, localVarHttpResponse, newErr
  4435  		}
  4436  		
  4437  		if localVarHttpResponse.StatusCode == 403 {
  4438  			var v interface{}
  4439  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4440  				if err != nil {
  4441  					newErr.error = err.Error()
  4442  					return localVarReturnValue, localVarHttpResponse, newErr
  4443  				}
  4444  				newErr.model = v
  4445  				return localVarReturnValue, localVarHttpResponse, newErr
  4446  		}
  4447  		
  4448  		if localVarHttpResponse.StatusCode == 404 {
  4449  			var v string
  4450  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4451  				if err != nil {
  4452  					newErr.error = err.Error()
  4453  					return localVarReturnValue, localVarHttpResponse, newErr
  4454  				}
  4455  				newErr.model = v
  4456  				return localVarReturnValue, localVarHttpResponse, newErr
  4457  		}
  4458  		
  4459  		if localVarHttpResponse.StatusCode == 418 {
  4460  			var v ExamplepbNumericEnum
  4461  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4462  				if err != nil {
  4463  					newErr.error = err.Error()
  4464  					return localVarReturnValue, localVarHttpResponse, newErr
  4465  				}
  4466  				newErr.model = v
  4467  				return localVarReturnValue, localVarHttpResponse, newErr
  4468  		}
  4469  		
  4470  		if localVarHttpResponse.StatusCode == 500 {
  4471  			var v ExamplepbErrorResponse
  4472  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4473  				if err != nil {
  4474  					newErr.error = err.Error()
  4475  					return localVarReturnValue, localVarHttpResponse, newErr
  4476  				}
  4477  				newErr.model = v
  4478  				return localVarReturnValue, localVarHttpResponse, newErr
  4479  		}
  4480  		
  4481  		if localVarHttpResponse.StatusCode == 0 {
  4482  			var v RpcStatus
  4483  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4484  				if err != nil {
  4485  					newErr.error = err.Error()
  4486  					return localVarReturnValue, localVarHttpResponse, newErr
  4487  				}
  4488  				newErr.model = v
  4489  				return localVarReturnValue, localVarHttpResponse, newErr
  4490  		}
  4491  		
  4492  		return localVarReturnValue, localVarHttpResponse, newErr
  4493  	}
  4494  
  4495  	return localVarReturnValue, localVarHttpResponse, nil
  4496  }
  4497  
  4498  /* 
  4499  ABitOfEverythingServiceApiService
  4500   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4501   * @param uuid
  4502  
  4503  @return ExamplepbABitOfEverything
  4504  */
  4505  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceLookup(ctx context.Context, uuid string) (ExamplepbABitOfEverything, *http.Response, error) {
  4506  	var (
  4507  		localVarHttpMethod = strings.ToUpper("Get")
  4508  		localVarPostBody   interface{}
  4509  		localVarFileName   string
  4510  		localVarFileBytes  []byte
  4511  		localVarReturnValue ExamplepbABitOfEverything
  4512  	)
  4513  
  4514  	// create path and map variables
  4515  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuid}"
  4516  	localVarPath = strings.Replace(localVarPath, "{"+"uuid"+"}", fmt.Sprintf("%v", uuid), -1)
  4517  
  4518  	localVarHeaderParams := make(map[string]string)
  4519  	localVarQueryParams := url.Values{}
  4520  	localVarFormParams := url.Values{}
  4521  
  4522  	// to determine the Content-Type header
  4523  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4524  
  4525  	// set Content-Type header
  4526  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4527  	if localVarHttpContentType != "" {
  4528  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4529  	}
  4530  
  4531  	// to determine the Accept header
  4532  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4533  
  4534  	// set Accept header
  4535  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4536  	if localVarHttpHeaderAccept != "" {
  4537  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4538  	}
  4539  	if ctx != nil {
  4540  		// API Key Authentication
  4541  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4542  			var key string
  4543  			if auth.Prefix != "" {
  4544  				key = auth.Prefix + " " + auth.Key
  4545  			} else {
  4546  				key = auth.Key
  4547  			}
  4548  			localVarHeaderParams["X-API-Key"] = key
  4549  			
  4550  		}
  4551  	}
  4552  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4553  	if err != nil {
  4554  		return localVarReturnValue, nil, err
  4555  	}
  4556  
  4557  	localVarHttpResponse, err := a.client.callAPI(r)
  4558  	if err != nil || localVarHttpResponse == nil {
  4559  		return localVarReturnValue, localVarHttpResponse, err
  4560  	}
  4561  
  4562  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4563  	localVarHttpResponse.Body.Close()
  4564  	if err != nil {
  4565  		return localVarReturnValue, localVarHttpResponse, err
  4566  	}
  4567  
  4568  	if localVarHttpResponse.StatusCode < 300 {
  4569  		// If we succeed, return the data, otherwise pass on to decode error.
  4570  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4571  		if err == nil { 
  4572  			return localVarReturnValue, localVarHttpResponse, err
  4573  		}
  4574  	}
  4575  
  4576  	if localVarHttpResponse.StatusCode >= 300 {
  4577  		newErr := GenericSwaggerError{
  4578  			body: localVarBody,
  4579  			error: localVarHttpResponse.Status,
  4580  		}
  4581  		
  4582  		if localVarHttpResponse.StatusCode == 200 {
  4583  			var v ExamplepbABitOfEverything
  4584  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4585  				if err != nil {
  4586  					newErr.error = err.Error()
  4587  					return localVarReturnValue, localVarHttpResponse, newErr
  4588  				}
  4589  				newErr.model = v
  4590  				return localVarReturnValue, localVarHttpResponse, newErr
  4591  		}
  4592  		
  4593  		if localVarHttpResponse.StatusCode == 403 {
  4594  			var v interface{}
  4595  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4596  				if err != nil {
  4597  					newErr.error = err.Error()
  4598  					return localVarReturnValue, localVarHttpResponse, newErr
  4599  				}
  4600  				newErr.model = v
  4601  				return localVarReturnValue, localVarHttpResponse, newErr
  4602  		}
  4603  		
  4604  		if localVarHttpResponse.StatusCode == 404 {
  4605  			var v string
  4606  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4607  				if err != nil {
  4608  					newErr.error = err.Error()
  4609  					return localVarReturnValue, localVarHttpResponse, newErr
  4610  				}
  4611  				newErr.model = v
  4612  				return localVarReturnValue, localVarHttpResponse, newErr
  4613  		}
  4614  		
  4615  		if localVarHttpResponse.StatusCode == 418 {
  4616  			var v ExamplepbNumericEnum
  4617  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4618  				if err != nil {
  4619  					newErr.error = err.Error()
  4620  					return localVarReturnValue, localVarHttpResponse, newErr
  4621  				}
  4622  				newErr.model = v
  4623  				return localVarReturnValue, localVarHttpResponse, newErr
  4624  		}
  4625  		
  4626  		if localVarHttpResponse.StatusCode == 500 {
  4627  			var v ExamplepbErrorResponse
  4628  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4629  				if err != nil {
  4630  					newErr.error = err.Error()
  4631  					return localVarReturnValue, localVarHttpResponse, newErr
  4632  				}
  4633  				newErr.model = v
  4634  				return localVarReturnValue, localVarHttpResponse, newErr
  4635  		}
  4636  		
  4637  		if localVarHttpResponse.StatusCode == 0 {
  4638  			var v RpcStatus
  4639  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4640  				if err != nil {
  4641  					newErr.error = err.Error()
  4642  					return localVarReturnValue, localVarHttpResponse, newErr
  4643  				}
  4644  				newErr.model = v
  4645  				return localVarReturnValue, localVarHttpResponse, newErr
  4646  		}
  4647  		
  4648  		return localVarReturnValue, localVarHttpResponse, newErr
  4649  	}
  4650  
  4651  	return localVarReturnValue, localVarHttpResponse, nil
  4652  }
  4653  
  4654  /* 
  4655  ABitOfEverythingServiceApiService
  4656   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4657   * @param exampleEnum
  4658  
  4659  @return interface{}
  4660  */
  4661  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServicePostOneofEnum(ctx context.Context, exampleEnum OneofenumExampleEnum) (interface{}, *http.Response, error) {
  4662  	var (
  4663  		localVarHttpMethod = strings.ToUpper("Post")
  4664  		localVarPostBody   interface{}
  4665  		localVarFileName   string
  4666  		localVarFileBytes  []byte
  4667  		localVarReturnValue interface{}
  4668  	)
  4669  
  4670  	// create path and map variables
  4671  	localVarPath := a.client.cfg.BasePath + "/v1/example/oneofenum"
  4672  
  4673  	localVarHeaderParams := make(map[string]string)
  4674  	localVarQueryParams := url.Values{}
  4675  	localVarFormParams := url.Values{}
  4676  
  4677  	// to determine the Content-Type header
  4678  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4679  
  4680  	// set Content-Type header
  4681  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4682  	if localVarHttpContentType != "" {
  4683  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4684  	}
  4685  
  4686  	// to determine the Accept header
  4687  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4688  
  4689  	// set Accept header
  4690  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4691  	if localVarHttpHeaderAccept != "" {
  4692  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4693  	}
  4694  	// body params
  4695  	localVarPostBody = &exampleEnum
  4696  	if ctx != nil {
  4697  		// API Key Authentication
  4698  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4699  			var key string
  4700  			if auth.Prefix != "" {
  4701  				key = auth.Prefix + " " + auth.Key
  4702  			} else {
  4703  				key = auth.Key
  4704  			}
  4705  			localVarHeaderParams["X-API-Key"] = key
  4706  			
  4707  		}
  4708  	}
  4709  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4710  	if err != nil {
  4711  		return localVarReturnValue, nil, err
  4712  	}
  4713  
  4714  	localVarHttpResponse, err := a.client.callAPI(r)
  4715  	if err != nil || localVarHttpResponse == nil {
  4716  		return localVarReturnValue, localVarHttpResponse, err
  4717  	}
  4718  
  4719  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4720  	localVarHttpResponse.Body.Close()
  4721  	if err != nil {
  4722  		return localVarReturnValue, localVarHttpResponse, err
  4723  	}
  4724  
  4725  	if localVarHttpResponse.StatusCode < 300 {
  4726  		// If we succeed, return the data, otherwise pass on to decode error.
  4727  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4728  		if err == nil { 
  4729  			return localVarReturnValue, localVarHttpResponse, err
  4730  		}
  4731  	}
  4732  
  4733  	if localVarHttpResponse.StatusCode >= 300 {
  4734  		newErr := GenericSwaggerError{
  4735  			body: localVarBody,
  4736  			error: localVarHttpResponse.Status,
  4737  		}
  4738  		
  4739  		if localVarHttpResponse.StatusCode == 200 {
  4740  			var v interface{}
  4741  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4742  				if err != nil {
  4743  					newErr.error = err.Error()
  4744  					return localVarReturnValue, localVarHttpResponse, newErr
  4745  				}
  4746  				newErr.model = v
  4747  				return localVarReturnValue, localVarHttpResponse, newErr
  4748  		}
  4749  		
  4750  		if localVarHttpResponse.StatusCode == 403 {
  4751  			var v interface{}
  4752  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4753  				if err != nil {
  4754  					newErr.error = err.Error()
  4755  					return localVarReturnValue, localVarHttpResponse, newErr
  4756  				}
  4757  				newErr.model = v
  4758  				return localVarReturnValue, localVarHttpResponse, newErr
  4759  		}
  4760  		
  4761  		if localVarHttpResponse.StatusCode == 404 {
  4762  			var v string
  4763  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4764  				if err != nil {
  4765  					newErr.error = err.Error()
  4766  					return localVarReturnValue, localVarHttpResponse, newErr
  4767  				}
  4768  				newErr.model = v
  4769  				return localVarReturnValue, localVarHttpResponse, newErr
  4770  		}
  4771  		
  4772  		if localVarHttpResponse.StatusCode == 418 {
  4773  			var v ExamplepbNumericEnum
  4774  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4775  				if err != nil {
  4776  					newErr.error = err.Error()
  4777  					return localVarReturnValue, localVarHttpResponse, newErr
  4778  				}
  4779  				newErr.model = v
  4780  				return localVarReturnValue, localVarHttpResponse, newErr
  4781  		}
  4782  		
  4783  		if localVarHttpResponse.StatusCode == 500 {
  4784  			var v ExamplepbErrorResponse
  4785  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4786  				if err != nil {
  4787  					newErr.error = err.Error()
  4788  					return localVarReturnValue, localVarHttpResponse, newErr
  4789  				}
  4790  				newErr.model = v
  4791  				return localVarReturnValue, localVarHttpResponse, newErr
  4792  		}
  4793  		
  4794  		if localVarHttpResponse.StatusCode == 0 {
  4795  			var v RpcStatus
  4796  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4797  				if err != nil {
  4798  					newErr.error = err.Error()
  4799  					return localVarReturnValue, localVarHttpResponse, newErr
  4800  				}
  4801  				newErr.model = v
  4802  				return localVarReturnValue, localVarHttpResponse, newErr
  4803  		}
  4804  		
  4805  		return localVarReturnValue, localVarHttpResponse, newErr
  4806  	}
  4807  
  4808  	return localVarReturnValue, localVarHttpResponse, nil
  4809  }
  4810  
  4811  /* 
  4812  ABitOfEverythingServiceApiService
  4813   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4814   * @param body
  4815  
  4816  @return interface{}
  4817  */
  4818  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServicePostRequiredMessageType(ctx context.Context, body ExamplepbRequiredMessageTypeRequest) (interface{}, *http.Response, error) {
  4819  	var (
  4820  		localVarHttpMethod = strings.ToUpper("Post")
  4821  		localVarPostBody   interface{}
  4822  		localVarFileName   string
  4823  		localVarFileBytes  []byte
  4824  		localVarReturnValue interface{}
  4825  	)
  4826  
  4827  	// create path and map variables
  4828  	localVarPath := a.client.cfg.BasePath + "/v1/example/requiredmessagetype"
  4829  
  4830  	localVarHeaderParams := make(map[string]string)
  4831  	localVarQueryParams := url.Values{}
  4832  	localVarFormParams := url.Values{}
  4833  
  4834  	// to determine the Content-Type header
  4835  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4836  
  4837  	// set Content-Type header
  4838  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4839  	if localVarHttpContentType != "" {
  4840  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4841  	}
  4842  
  4843  	// to determine the Accept header
  4844  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  4845  
  4846  	// set Accept header
  4847  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4848  	if localVarHttpHeaderAccept != "" {
  4849  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4850  	}
  4851  	// body params
  4852  	localVarPostBody = &body
  4853  	if ctx != nil {
  4854  		// API Key Authentication
  4855  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4856  			var key string
  4857  			if auth.Prefix != "" {
  4858  				key = auth.Prefix + " " + auth.Key
  4859  			} else {
  4860  				key = auth.Key
  4861  			}
  4862  			localVarHeaderParams["X-API-Key"] = key
  4863  			
  4864  		}
  4865  	}
  4866  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4867  	if err != nil {
  4868  		return localVarReturnValue, nil, err
  4869  	}
  4870  
  4871  	localVarHttpResponse, err := a.client.callAPI(r)
  4872  	if err != nil || localVarHttpResponse == nil {
  4873  		return localVarReturnValue, localVarHttpResponse, err
  4874  	}
  4875  
  4876  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  4877  	localVarHttpResponse.Body.Close()
  4878  	if err != nil {
  4879  		return localVarReturnValue, localVarHttpResponse, err
  4880  	}
  4881  
  4882  	if localVarHttpResponse.StatusCode < 300 {
  4883  		// If we succeed, return the data, otherwise pass on to decode error.
  4884  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4885  		if err == nil { 
  4886  			return localVarReturnValue, localVarHttpResponse, err
  4887  		}
  4888  	}
  4889  
  4890  	if localVarHttpResponse.StatusCode >= 300 {
  4891  		newErr := GenericSwaggerError{
  4892  			body: localVarBody,
  4893  			error: localVarHttpResponse.Status,
  4894  		}
  4895  		
  4896  		if localVarHttpResponse.StatusCode == 200 {
  4897  			var v interface{}
  4898  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4899  				if err != nil {
  4900  					newErr.error = err.Error()
  4901  					return localVarReturnValue, localVarHttpResponse, newErr
  4902  				}
  4903  				newErr.model = v
  4904  				return localVarReturnValue, localVarHttpResponse, newErr
  4905  		}
  4906  		
  4907  		if localVarHttpResponse.StatusCode == 403 {
  4908  			var v interface{}
  4909  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4910  				if err != nil {
  4911  					newErr.error = err.Error()
  4912  					return localVarReturnValue, localVarHttpResponse, newErr
  4913  				}
  4914  				newErr.model = v
  4915  				return localVarReturnValue, localVarHttpResponse, newErr
  4916  		}
  4917  		
  4918  		if localVarHttpResponse.StatusCode == 404 {
  4919  			var v string
  4920  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4921  				if err != nil {
  4922  					newErr.error = err.Error()
  4923  					return localVarReturnValue, localVarHttpResponse, newErr
  4924  				}
  4925  				newErr.model = v
  4926  				return localVarReturnValue, localVarHttpResponse, newErr
  4927  		}
  4928  		
  4929  		if localVarHttpResponse.StatusCode == 418 {
  4930  			var v ExamplepbNumericEnum
  4931  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4932  				if err != nil {
  4933  					newErr.error = err.Error()
  4934  					return localVarReturnValue, localVarHttpResponse, newErr
  4935  				}
  4936  				newErr.model = v
  4937  				return localVarReturnValue, localVarHttpResponse, newErr
  4938  		}
  4939  		
  4940  		if localVarHttpResponse.StatusCode == 500 {
  4941  			var v ExamplepbErrorResponse
  4942  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4943  				if err != nil {
  4944  					newErr.error = err.Error()
  4945  					return localVarReturnValue, localVarHttpResponse, newErr
  4946  				}
  4947  				newErr.model = v
  4948  				return localVarReturnValue, localVarHttpResponse, newErr
  4949  		}
  4950  		
  4951  		if localVarHttpResponse.StatusCode == 0 {
  4952  			var v RpcStatus
  4953  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  4954  				if err != nil {
  4955  					newErr.error = err.Error()
  4956  					return localVarReturnValue, localVarHttpResponse, newErr
  4957  				}
  4958  				newErr.model = v
  4959  				return localVarReturnValue, localVarHttpResponse, newErr
  4960  		}
  4961  		
  4962  		return localVarReturnValue, localVarHttpResponse, newErr
  4963  	}
  4964  
  4965  	return localVarReturnValue, localVarHttpResponse, nil
  4966  }
  4967  
  4968  /* 
  4969  ABitOfEverythingServiceApiService
  4970   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4971   * @param name
  4972   * @param body
  4973  
  4974  @return interface{}
  4975  */
  4976  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServicePostWithEmptyBody(ctx context.Context, name string, body ABitOfEverythingServicePostWithEmptyBodyBody) (interface{}, *http.Response, error) {
  4977  	var (
  4978  		localVarHttpMethod = strings.ToUpper("Post")
  4979  		localVarPostBody   interface{}
  4980  		localVarFileName   string
  4981  		localVarFileBytes  []byte
  4982  		localVarReturnValue interface{}
  4983  	)
  4984  
  4985  	// create path and map variables
  4986  	localVarPath := a.client.cfg.BasePath + "/v2/example/postwithemptybody/{name}"
  4987  	localVarPath = strings.Replace(localVarPath, "{"+"name"+"}", fmt.Sprintf("%v", name), -1)
  4988  
  4989  	localVarHeaderParams := make(map[string]string)
  4990  	localVarQueryParams := url.Values{}
  4991  	localVarFormParams := url.Values{}
  4992  
  4993  	// to determine the Content-Type header
  4994  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  4995  
  4996  	// set Content-Type header
  4997  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4998  	if localVarHttpContentType != "" {
  4999  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5000  	}
  5001  
  5002  	// to determine the Accept header
  5003  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5004  
  5005  	// set Accept header
  5006  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5007  	if localVarHttpHeaderAccept != "" {
  5008  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5009  	}
  5010  	// body params
  5011  	localVarPostBody = &body
  5012  	if ctx != nil {
  5013  		// API Key Authentication
  5014  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5015  			var key string
  5016  			if auth.Prefix != "" {
  5017  				key = auth.Prefix + " " + auth.Key
  5018  			} else {
  5019  				key = auth.Key
  5020  			}
  5021  			localVarHeaderParams["X-API-Key"] = key
  5022  			
  5023  		}
  5024  	}
  5025  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5026  	if err != nil {
  5027  		return localVarReturnValue, nil, err
  5028  	}
  5029  
  5030  	localVarHttpResponse, err := a.client.callAPI(r)
  5031  	if err != nil || localVarHttpResponse == nil {
  5032  		return localVarReturnValue, localVarHttpResponse, err
  5033  	}
  5034  
  5035  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5036  	localVarHttpResponse.Body.Close()
  5037  	if err != nil {
  5038  		return localVarReturnValue, localVarHttpResponse, err
  5039  	}
  5040  
  5041  	if localVarHttpResponse.StatusCode < 300 {
  5042  		// If we succeed, return the data, otherwise pass on to decode error.
  5043  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5044  		if err == nil { 
  5045  			return localVarReturnValue, localVarHttpResponse, err
  5046  		}
  5047  	}
  5048  
  5049  	if localVarHttpResponse.StatusCode >= 300 {
  5050  		newErr := GenericSwaggerError{
  5051  			body: localVarBody,
  5052  			error: localVarHttpResponse.Status,
  5053  		}
  5054  		
  5055  		if localVarHttpResponse.StatusCode == 200 {
  5056  			var v interface{}
  5057  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5058  				if err != nil {
  5059  					newErr.error = err.Error()
  5060  					return localVarReturnValue, localVarHttpResponse, newErr
  5061  				}
  5062  				newErr.model = v
  5063  				return localVarReturnValue, localVarHttpResponse, newErr
  5064  		}
  5065  		
  5066  		if localVarHttpResponse.StatusCode == 403 {
  5067  			var v interface{}
  5068  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5069  				if err != nil {
  5070  					newErr.error = err.Error()
  5071  					return localVarReturnValue, localVarHttpResponse, newErr
  5072  				}
  5073  				newErr.model = v
  5074  				return localVarReturnValue, localVarHttpResponse, newErr
  5075  		}
  5076  		
  5077  		if localVarHttpResponse.StatusCode == 404 {
  5078  			var v string
  5079  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5080  				if err != nil {
  5081  					newErr.error = err.Error()
  5082  					return localVarReturnValue, localVarHttpResponse, newErr
  5083  				}
  5084  				newErr.model = v
  5085  				return localVarReturnValue, localVarHttpResponse, newErr
  5086  		}
  5087  		
  5088  		if localVarHttpResponse.StatusCode == 418 {
  5089  			var v ExamplepbNumericEnum
  5090  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5091  				if err != nil {
  5092  					newErr.error = err.Error()
  5093  					return localVarReturnValue, localVarHttpResponse, newErr
  5094  				}
  5095  				newErr.model = v
  5096  				return localVarReturnValue, localVarHttpResponse, newErr
  5097  		}
  5098  		
  5099  		if localVarHttpResponse.StatusCode == 500 {
  5100  			var v ExamplepbErrorResponse
  5101  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5102  				if err != nil {
  5103  					newErr.error = err.Error()
  5104  					return localVarReturnValue, localVarHttpResponse, newErr
  5105  				}
  5106  				newErr.model = v
  5107  				return localVarReturnValue, localVarHttpResponse, newErr
  5108  		}
  5109  		
  5110  		if localVarHttpResponse.StatusCode == 0 {
  5111  			var v RpcStatus
  5112  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5113  				if err != nil {
  5114  					newErr.error = err.Error()
  5115  					return localVarReturnValue, localVarHttpResponse, newErr
  5116  				}
  5117  				newErr.model = v
  5118  				return localVarReturnValue, localVarHttpResponse, newErr
  5119  		}
  5120  		
  5121  		return localVarReturnValue, localVarHttpResponse, newErr
  5122  	}
  5123  
  5124  	return localVarReturnValue, localVarHttpResponse, nil
  5125  }
  5126  
  5127  /* 
  5128  ABitOfEverythingServiceApiService
  5129   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5130  
  5131  @return interface{}
  5132  */
  5133  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceTimeout(ctx context.Context) (interface{}, *http.Response, error) {
  5134  	var (
  5135  		localVarHttpMethod = strings.ToUpper("Get")
  5136  		localVarPostBody   interface{}
  5137  		localVarFileName   string
  5138  		localVarFileBytes  []byte
  5139  		localVarReturnValue interface{}
  5140  	)
  5141  
  5142  	// create path and map variables
  5143  	localVarPath := a.client.cfg.BasePath + "/v2/example/timeout"
  5144  
  5145  	localVarHeaderParams := make(map[string]string)
  5146  	localVarQueryParams := url.Values{}
  5147  	localVarFormParams := url.Values{}
  5148  
  5149  	// to determine the Content-Type header
  5150  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5151  
  5152  	// set Content-Type header
  5153  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5154  	if localVarHttpContentType != "" {
  5155  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5156  	}
  5157  
  5158  	// to determine the Accept header
  5159  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5160  
  5161  	// set Accept header
  5162  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5163  	if localVarHttpHeaderAccept != "" {
  5164  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5165  	}
  5166  	if ctx != nil {
  5167  		// API Key Authentication
  5168  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5169  			var key string
  5170  			if auth.Prefix != "" {
  5171  				key = auth.Prefix + " " + auth.Key
  5172  			} else {
  5173  				key = auth.Key
  5174  			}
  5175  			localVarHeaderParams["X-API-Key"] = key
  5176  			
  5177  		}
  5178  	}
  5179  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5180  	if err != nil {
  5181  		return localVarReturnValue, nil, err
  5182  	}
  5183  
  5184  	localVarHttpResponse, err := a.client.callAPI(r)
  5185  	if err != nil || localVarHttpResponse == nil {
  5186  		return localVarReturnValue, localVarHttpResponse, err
  5187  	}
  5188  
  5189  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5190  	localVarHttpResponse.Body.Close()
  5191  	if err != nil {
  5192  		return localVarReturnValue, localVarHttpResponse, err
  5193  	}
  5194  
  5195  	if localVarHttpResponse.StatusCode < 300 {
  5196  		// If we succeed, return the data, otherwise pass on to decode error.
  5197  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5198  		if err == nil { 
  5199  			return localVarReturnValue, localVarHttpResponse, err
  5200  		}
  5201  	}
  5202  
  5203  	if localVarHttpResponse.StatusCode >= 300 {
  5204  		newErr := GenericSwaggerError{
  5205  			body: localVarBody,
  5206  			error: localVarHttpResponse.Status,
  5207  		}
  5208  		
  5209  		if localVarHttpResponse.StatusCode == 200 {
  5210  			var v interface{}
  5211  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5212  				if err != nil {
  5213  					newErr.error = err.Error()
  5214  					return localVarReturnValue, localVarHttpResponse, newErr
  5215  				}
  5216  				newErr.model = v
  5217  				return localVarReturnValue, localVarHttpResponse, newErr
  5218  		}
  5219  		
  5220  		if localVarHttpResponse.StatusCode == 403 {
  5221  			var v interface{}
  5222  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5223  				if err != nil {
  5224  					newErr.error = err.Error()
  5225  					return localVarReturnValue, localVarHttpResponse, newErr
  5226  				}
  5227  				newErr.model = v
  5228  				return localVarReturnValue, localVarHttpResponse, newErr
  5229  		}
  5230  		
  5231  		if localVarHttpResponse.StatusCode == 404 {
  5232  			var v string
  5233  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5234  				if err != nil {
  5235  					newErr.error = err.Error()
  5236  					return localVarReturnValue, localVarHttpResponse, newErr
  5237  				}
  5238  				newErr.model = v
  5239  				return localVarReturnValue, localVarHttpResponse, newErr
  5240  		}
  5241  		
  5242  		if localVarHttpResponse.StatusCode == 418 {
  5243  			var v ExamplepbNumericEnum
  5244  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5245  				if err != nil {
  5246  					newErr.error = err.Error()
  5247  					return localVarReturnValue, localVarHttpResponse, newErr
  5248  				}
  5249  				newErr.model = v
  5250  				return localVarReturnValue, localVarHttpResponse, newErr
  5251  		}
  5252  		
  5253  		if localVarHttpResponse.StatusCode == 500 {
  5254  			var v ExamplepbErrorResponse
  5255  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5256  				if err != nil {
  5257  					newErr.error = err.Error()
  5258  					return localVarReturnValue, localVarHttpResponse, newErr
  5259  				}
  5260  				newErr.model = v
  5261  				return localVarReturnValue, localVarHttpResponse, newErr
  5262  		}
  5263  		
  5264  		if localVarHttpResponse.StatusCode == 0 {
  5265  			var v RpcStatus
  5266  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5267  				if err != nil {
  5268  					newErr.error = err.Error()
  5269  					return localVarReturnValue, localVarHttpResponse, newErr
  5270  				}
  5271  				newErr.model = v
  5272  				return localVarReturnValue, localVarHttpResponse, newErr
  5273  		}
  5274  		
  5275  		return localVarReturnValue, localVarHttpResponse, newErr
  5276  	}
  5277  
  5278  	return localVarReturnValue, localVarHttpResponse, nil
  5279  }
  5280  
  5281  /* 
  5282  ABitOfEverythingServiceApiService
  5283   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5284   * @param uuidName
  5285   * @param body
  5286  
  5287  @return interface{}
  5288  */
  5289  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceUpdate(ctx context.Context, uuidName string, body ExamplepbABitOfEverythingServiceUpdateBody) (interface{}, *http.Response, error) {
  5290  	var (
  5291  		localVarHttpMethod = strings.ToUpper("Put")
  5292  		localVarPostBody   interface{}
  5293  		localVarFileName   string
  5294  		localVarFileBytes  []byte
  5295  		localVarReturnValue interface{}
  5296  	)
  5297  
  5298  	// create path and map variables
  5299  	localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything/{uuidName}"
  5300  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  5301  
  5302  	localVarHeaderParams := make(map[string]string)
  5303  	localVarQueryParams := url.Values{}
  5304  	localVarFormParams := url.Values{}
  5305  
  5306  	// to determine the Content-Type header
  5307  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5308  
  5309  	// set Content-Type header
  5310  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5311  	if localVarHttpContentType != "" {
  5312  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5313  	}
  5314  
  5315  	// to determine the Accept header
  5316  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5317  
  5318  	// set Accept header
  5319  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5320  	if localVarHttpHeaderAccept != "" {
  5321  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5322  	}
  5323  	// body params
  5324  	localVarPostBody = &body
  5325  	if ctx != nil {
  5326  		// API Key Authentication
  5327  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5328  			var key string
  5329  			if auth.Prefix != "" {
  5330  				key = auth.Prefix + " " + auth.Key
  5331  			} else {
  5332  				key = auth.Key
  5333  			}
  5334  			localVarHeaderParams["X-API-Key"] = key
  5335  			
  5336  		}
  5337  	}
  5338  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5339  	if err != nil {
  5340  		return localVarReturnValue, nil, err
  5341  	}
  5342  
  5343  	localVarHttpResponse, err := a.client.callAPI(r)
  5344  	if err != nil || localVarHttpResponse == nil {
  5345  		return localVarReturnValue, localVarHttpResponse, err
  5346  	}
  5347  
  5348  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5349  	localVarHttpResponse.Body.Close()
  5350  	if err != nil {
  5351  		return localVarReturnValue, localVarHttpResponse, err
  5352  	}
  5353  
  5354  	if localVarHttpResponse.StatusCode < 300 {
  5355  		// If we succeed, return the data, otherwise pass on to decode error.
  5356  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5357  		if err == nil { 
  5358  			return localVarReturnValue, localVarHttpResponse, err
  5359  		}
  5360  	}
  5361  
  5362  	if localVarHttpResponse.StatusCode >= 300 {
  5363  		newErr := GenericSwaggerError{
  5364  			body: localVarBody,
  5365  			error: localVarHttpResponse.Status,
  5366  		}
  5367  		
  5368  		if localVarHttpResponse.StatusCode == 200 {
  5369  			var v interface{}
  5370  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5371  				if err != nil {
  5372  					newErr.error = err.Error()
  5373  					return localVarReturnValue, localVarHttpResponse, newErr
  5374  				}
  5375  				newErr.model = v
  5376  				return localVarReturnValue, localVarHttpResponse, newErr
  5377  		}
  5378  		
  5379  		if localVarHttpResponse.StatusCode == 403 {
  5380  			var v interface{}
  5381  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5382  				if err != nil {
  5383  					newErr.error = err.Error()
  5384  					return localVarReturnValue, localVarHttpResponse, newErr
  5385  				}
  5386  				newErr.model = v
  5387  				return localVarReturnValue, localVarHttpResponse, newErr
  5388  		}
  5389  		
  5390  		if localVarHttpResponse.StatusCode == 404 {
  5391  			var v string
  5392  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5393  				if err != nil {
  5394  					newErr.error = err.Error()
  5395  					return localVarReturnValue, localVarHttpResponse, newErr
  5396  				}
  5397  				newErr.model = v
  5398  				return localVarReturnValue, localVarHttpResponse, newErr
  5399  		}
  5400  		
  5401  		if localVarHttpResponse.StatusCode == 418 {
  5402  			var v ExamplepbNumericEnum
  5403  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5404  				if err != nil {
  5405  					newErr.error = err.Error()
  5406  					return localVarReturnValue, localVarHttpResponse, newErr
  5407  				}
  5408  				newErr.model = v
  5409  				return localVarReturnValue, localVarHttpResponse, newErr
  5410  		}
  5411  		
  5412  		if localVarHttpResponse.StatusCode == 500 {
  5413  			var v ExamplepbErrorResponse
  5414  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5415  				if err != nil {
  5416  					newErr.error = err.Error()
  5417  					return localVarReturnValue, localVarHttpResponse, newErr
  5418  				}
  5419  				newErr.model = v
  5420  				return localVarReturnValue, localVarHttpResponse, newErr
  5421  		}
  5422  		
  5423  		if localVarHttpResponse.StatusCode == 0 {
  5424  			var v RpcStatus
  5425  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5426  				if err != nil {
  5427  					newErr.error = err.Error()
  5428  					return localVarReturnValue, localVarHttpResponse, newErr
  5429  				}
  5430  				newErr.model = v
  5431  				return localVarReturnValue, localVarHttpResponse, newErr
  5432  		}
  5433  		
  5434  		return localVarReturnValue, localVarHttpResponse, newErr
  5435  	}
  5436  
  5437  	return localVarReturnValue, localVarHttpResponse, nil
  5438  }
  5439  
  5440  /* 
  5441  ABitOfEverythingServiceApiService
  5442   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5443   * @param bookName The resource name of the book.  Format: &#x60;publishers/{publisher}/books/{book}&#x60;  Example: &#x60;publishers/1257894000000000000/books/my-book&#x60;
  5444   * @param book The book to update.  The book&#39;s &#x60;name&#x60; field is used to identify the book to be updated. Format: publishers/{publisher}/books/{book}
  5445   * @param optional nil or *ABitOfEverythingServiceUpdateBookOpts - Optional Parameters:
  5446       * @param "AllowMissing" (optional.Bool) -  If set to true, and the book is not found, a new book will be created. In this situation, &#x60;update_mask&#x60; is ignored.
  5447  
  5448  @return ExamplepbBook
  5449  */
  5450  
  5451  type ABitOfEverythingServiceUpdateBookOpts struct { 
  5452  	AllowMissing optional.Bool
  5453  }
  5454  
  5455  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceUpdateBook(ctx context.Context, bookName string, book TheBookToUpdate_, localVarOptionals *ABitOfEverythingServiceUpdateBookOpts) (ExamplepbBook, *http.Response, error) {
  5456  	var (
  5457  		localVarHttpMethod = strings.ToUpper("Patch")
  5458  		localVarPostBody   interface{}
  5459  		localVarFileName   string
  5460  		localVarFileBytes  []byte
  5461  		localVarReturnValue ExamplepbBook
  5462  	)
  5463  
  5464  	// create path and map variables
  5465  	localVarPath := a.client.cfg.BasePath + "/v1/{book.name}"
  5466  	localVarPath = strings.Replace(localVarPath, "{"+"book.name"+"}", fmt.Sprintf("%v", bookName), -1)
  5467  
  5468  	localVarHeaderParams := make(map[string]string)
  5469  	localVarQueryParams := url.Values{}
  5470  	localVarFormParams := url.Values{}
  5471  
  5472  	if localVarOptionals != nil && localVarOptionals.AllowMissing.IsSet() {
  5473  		localVarQueryParams.Add("allowMissing", parameterToString(localVarOptionals.AllowMissing.Value(), ""))
  5474  	}
  5475  	// to determine the Content-Type header
  5476  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5477  
  5478  	// set Content-Type header
  5479  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5480  	if localVarHttpContentType != "" {
  5481  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5482  	}
  5483  
  5484  	// to determine the Accept header
  5485  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5486  
  5487  	// set Accept header
  5488  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5489  	if localVarHttpHeaderAccept != "" {
  5490  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5491  	}
  5492  	// body params
  5493  	localVarPostBody = &book
  5494  	if ctx != nil {
  5495  		// API Key Authentication
  5496  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5497  			var key string
  5498  			if auth.Prefix != "" {
  5499  				key = auth.Prefix + " " + auth.Key
  5500  			} else {
  5501  				key = auth.Key
  5502  			}
  5503  			localVarHeaderParams["X-API-Key"] = key
  5504  			
  5505  		}
  5506  	}
  5507  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5508  	if err != nil {
  5509  		return localVarReturnValue, nil, err
  5510  	}
  5511  
  5512  	localVarHttpResponse, err := a.client.callAPI(r)
  5513  	if err != nil || localVarHttpResponse == nil {
  5514  		return localVarReturnValue, localVarHttpResponse, err
  5515  	}
  5516  
  5517  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5518  	localVarHttpResponse.Body.Close()
  5519  	if err != nil {
  5520  		return localVarReturnValue, localVarHttpResponse, err
  5521  	}
  5522  
  5523  	if localVarHttpResponse.StatusCode < 300 {
  5524  		// If we succeed, return the data, otherwise pass on to decode error.
  5525  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5526  		if err == nil { 
  5527  			return localVarReturnValue, localVarHttpResponse, err
  5528  		}
  5529  	}
  5530  
  5531  	if localVarHttpResponse.StatusCode >= 300 {
  5532  		newErr := GenericSwaggerError{
  5533  			body: localVarBody,
  5534  			error: localVarHttpResponse.Status,
  5535  		}
  5536  		
  5537  		if localVarHttpResponse.StatusCode == 200 {
  5538  			var v ExamplepbBook
  5539  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5540  				if err != nil {
  5541  					newErr.error = err.Error()
  5542  					return localVarReturnValue, localVarHttpResponse, newErr
  5543  				}
  5544  				newErr.model = v
  5545  				return localVarReturnValue, localVarHttpResponse, newErr
  5546  		}
  5547  		
  5548  		if localVarHttpResponse.StatusCode == 403 {
  5549  			var v interface{}
  5550  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5551  				if err != nil {
  5552  					newErr.error = err.Error()
  5553  					return localVarReturnValue, localVarHttpResponse, newErr
  5554  				}
  5555  				newErr.model = v
  5556  				return localVarReturnValue, localVarHttpResponse, newErr
  5557  		}
  5558  		
  5559  		if localVarHttpResponse.StatusCode == 404 {
  5560  			var v string
  5561  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5562  				if err != nil {
  5563  					newErr.error = err.Error()
  5564  					return localVarReturnValue, localVarHttpResponse, newErr
  5565  				}
  5566  				newErr.model = v
  5567  				return localVarReturnValue, localVarHttpResponse, newErr
  5568  		}
  5569  		
  5570  		if localVarHttpResponse.StatusCode == 418 {
  5571  			var v ExamplepbNumericEnum
  5572  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5573  				if err != nil {
  5574  					newErr.error = err.Error()
  5575  					return localVarReturnValue, localVarHttpResponse, newErr
  5576  				}
  5577  				newErr.model = v
  5578  				return localVarReturnValue, localVarHttpResponse, newErr
  5579  		}
  5580  		
  5581  		if localVarHttpResponse.StatusCode == 500 {
  5582  			var v ExamplepbErrorResponse
  5583  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5584  				if err != nil {
  5585  					newErr.error = err.Error()
  5586  					return localVarReturnValue, localVarHttpResponse, newErr
  5587  				}
  5588  				newErr.model = v
  5589  				return localVarReturnValue, localVarHttpResponse, newErr
  5590  		}
  5591  		
  5592  		if localVarHttpResponse.StatusCode == 0 {
  5593  			var v RpcStatus
  5594  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5595  				if err != nil {
  5596  					newErr.error = err.Error()
  5597  					return localVarReturnValue, localVarHttpResponse, newErr
  5598  				}
  5599  				newErr.model = v
  5600  				return localVarReturnValue, localVarHttpResponse, newErr
  5601  		}
  5602  		
  5603  		return localVarReturnValue, localVarHttpResponse, newErr
  5604  	}
  5605  
  5606  	return localVarReturnValue, localVarHttpResponse, nil
  5607  }
  5608  
  5609  /* 
  5610  ABitOfEverythingServiceApiService
  5611   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5612   * @param uuidName
  5613   * @param abe A bit of everything  Intentionally complicated message type to cover many features of Protobuf.
  5614   * @param optional nil or *ABitOfEverythingServiceUpdateV2Opts - Optional Parameters:
  5615       * @param "UpdateMask" (optional.String) -  The paths to update.
  5616  
  5617  @return interface{}
  5618  */
  5619  
  5620  type ABitOfEverythingServiceUpdateV2Opts struct { 
  5621  	UpdateMask optional.String
  5622  }
  5623  
  5624  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceUpdateV2(ctx context.Context, uuidName string, abe ABitOfEverything, localVarOptionals *ABitOfEverythingServiceUpdateV2Opts) (interface{}, *http.Response, error) {
  5625  	var (
  5626  		localVarHttpMethod = strings.ToUpper("Put")
  5627  		localVarPostBody   interface{}
  5628  		localVarFileName   string
  5629  		localVarFileBytes  []byte
  5630  		localVarReturnValue interface{}
  5631  	)
  5632  
  5633  	// create path and map variables
  5634  	localVarPath := a.client.cfg.BasePath + "/v2/example/a_bit_of_everything/{uuidName}"
  5635  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  5636  
  5637  	localVarHeaderParams := make(map[string]string)
  5638  	localVarQueryParams := url.Values{}
  5639  	localVarFormParams := url.Values{}
  5640  
  5641  	if localVarOptionals != nil && localVarOptionals.UpdateMask.IsSet() {
  5642  		localVarQueryParams.Add("updateMask", parameterToString(localVarOptionals.UpdateMask.Value(), ""))
  5643  	}
  5644  	// to determine the Content-Type header
  5645  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5646  
  5647  	// set Content-Type header
  5648  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5649  	if localVarHttpContentType != "" {
  5650  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5651  	}
  5652  
  5653  	// to determine the Accept header
  5654  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5655  
  5656  	// set Accept header
  5657  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5658  	if localVarHttpHeaderAccept != "" {
  5659  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5660  	}
  5661  	// body params
  5662  	localVarPostBody = &abe
  5663  	if ctx != nil {
  5664  		// API Key Authentication
  5665  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5666  			var key string
  5667  			if auth.Prefix != "" {
  5668  				key = auth.Prefix + " " + auth.Key
  5669  			} else {
  5670  				key = auth.Key
  5671  			}
  5672  			localVarHeaderParams["X-API-Key"] = key
  5673  			
  5674  		}
  5675  	}
  5676  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5677  	if err != nil {
  5678  		return localVarReturnValue, nil, err
  5679  	}
  5680  
  5681  	localVarHttpResponse, err := a.client.callAPI(r)
  5682  	if err != nil || localVarHttpResponse == nil {
  5683  		return localVarReturnValue, localVarHttpResponse, err
  5684  	}
  5685  
  5686  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5687  	localVarHttpResponse.Body.Close()
  5688  	if err != nil {
  5689  		return localVarReturnValue, localVarHttpResponse, err
  5690  	}
  5691  
  5692  	if localVarHttpResponse.StatusCode < 300 {
  5693  		// If we succeed, return the data, otherwise pass on to decode error.
  5694  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5695  		if err == nil { 
  5696  			return localVarReturnValue, localVarHttpResponse, err
  5697  		}
  5698  	}
  5699  
  5700  	if localVarHttpResponse.StatusCode >= 300 {
  5701  		newErr := GenericSwaggerError{
  5702  			body: localVarBody,
  5703  			error: localVarHttpResponse.Status,
  5704  		}
  5705  		
  5706  		if localVarHttpResponse.StatusCode == 200 {
  5707  			var v interface{}
  5708  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5709  				if err != nil {
  5710  					newErr.error = err.Error()
  5711  					return localVarReturnValue, localVarHttpResponse, newErr
  5712  				}
  5713  				newErr.model = v
  5714  				return localVarReturnValue, localVarHttpResponse, newErr
  5715  		}
  5716  		
  5717  		if localVarHttpResponse.StatusCode == 403 {
  5718  			var v interface{}
  5719  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5720  				if err != nil {
  5721  					newErr.error = err.Error()
  5722  					return localVarReturnValue, localVarHttpResponse, newErr
  5723  				}
  5724  				newErr.model = v
  5725  				return localVarReturnValue, localVarHttpResponse, newErr
  5726  		}
  5727  		
  5728  		if localVarHttpResponse.StatusCode == 404 {
  5729  			var v string
  5730  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5731  				if err != nil {
  5732  					newErr.error = err.Error()
  5733  					return localVarReturnValue, localVarHttpResponse, newErr
  5734  				}
  5735  				newErr.model = v
  5736  				return localVarReturnValue, localVarHttpResponse, newErr
  5737  		}
  5738  		
  5739  		if localVarHttpResponse.StatusCode == 418 {
  5740  			var v ExamplepbNumericEnum
  5741  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5742  				if err != nil {
  5743  					newErr.error = err.Error()
  5744  					return localVarReturnValue, localVarHttpResponse, newErr
  5745  				}
  5746  				newErr.model = v
  5747  				return localVarReturnValue, localVarHttpResponse, newErr
  5748  		}
  5749  		
  5750  		if localVarHttpResponse.StatusCode == 500 {
  5751  			var v ExamplepbErrorResponse
  5752  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5753  				if err != nil {
  5754  					newErr.error = err.Error()
  5755  					return localVarReturnValue, localVarHttpResponse, newErr
  5756  				}
  5757  				newErr.model = v
  5758  				return localVarReturnValue, localVarHttpResponse, newErr
  5759  		}
  5760  		
  5761  		if localVarHttpResponse.StatusCode == 0 {
  5762  			var v RpcStatus
  5763  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5764  				if err != nil {
  5765  					newErr.error = err.Error()
  5766  					return localVarReturnValue, localVarHttpResponse, newErr
  5767  				}
  5768  				newErr.model = v
  5769  				return localVarReturnValue, localVarHttpResponse, newErr
  5770  		}
  5771  		
  5772  		return localVarReturnValue, localVarHttpResponse, newErr
  5773  	}
  5774  
  5775  	return localVarReturnValue, localVarHttpResponse, nil
  5776  }
  5777  
  5778  /* 
  5779  ABitOfEverythingServiceApiService
  5780   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5781   * @param uuidName
  5782   * @param abe A bit of everything  Intentionally complicated message type to cover many features of Protobuf.
  5783  
  5784  @return interface{}
  5785  */
  5786  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceUpdateV22(ctx context.Context, uuidName string, abe ABitOfEverything1) (interface{}, *http.Response, error) {
  5787  	var (
  5788  		localVarHttpMethod = strings.ToUpper("Patch")
  5789  		localVarPostBody   interface{}
  5790  		localVarFileName   string
  5791  		localVarFileBytes  []byte
  5792  		localVarReturnValue interface{}
  5793  	)
  5794  
  5795  	// create path and map variables
  5796  	localVarPath := a.client.cfg.BasePath + "/v2/example/a_bit_of_everything/{uuidName}"
  5797  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  5798  
  5799  	localVarHeaderParams := make(map[string]string)
  5800  	localVarQueryParams := url.Values{}
  5801  	localVarFormParams := url.Values{}
  5802  
  5803  	// to determine the Content-Type header
  5804  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5805  
  5806  	// set Content-Type header
  5807  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5808  	if localVarHttpContentType != "" {
  5809  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5810  	}
  5811  
  5812  	// to determine the Accept header
  5813  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5814  
  5815  	// set Accept header
  5816  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5817  	if localVarHttpHeaderAccept != "" {
  5818  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5819  	}
  5820  	// body params
  5821  	localVarPostBody = &abe
  5822  	if ctx != nil {
  5823  		// API Key Authentication
  5824  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5825  			var key string
  5826  			if auth.Prefix != "" {
  5827  				key = auth.Prefix + " " + auth.Key
  5828  			} else {
  5829  				key = auth.Key
  5830  			}
  5831  			localVarHeaderParams["X-API-Key"] = key
  5832  			
  5833  		}
  5834  	}
  5835  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5836  	if err != nil {
  5837  		return localVarReturnValue, nil, err
  5838  	}
  5839  
  5840  	localVarHttpResponse, err := a.client.callAPI(r)
  5841  	if err != nil || localVarHttpResponse == nil {
  5842  		return localVarReturnValue, localVarHttpResponse, err
  5843  	}
  5844  
  5845  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  5846  	localVarHttpResponse.Body.Close()
  5847  	if err != nil {
  5848  		return localVarReturnValue, localVarHttpResponse, err
  5849  	}
  5850  
  5851  	if localVarHttpResponse.StatusCode < 300 {
  5852  		// If we succeed, return the data, otherwise pass on to decode error.
  5853  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5854  		if err == nil { 
  5855  			return localVarReturnValue, localVarHttpResponse, err
  5856  		}
  5857  	}
  5858  
  5859  	if localVarHttpResponse.StatusCode >= 300 {
  5860  		newErr := GenericSwaggerError{
  5861  			body: localVarBody,
  5862  			error: localVarHttpResponse.Status,
  5863  		}
  5864  		
  5865  		if localVarHttpResponse.StatusCode == 200 {
  5866  			var v interface{}
  5867  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5868  				if err != nil {
  5869  					newErr.error = err.Error()
  5870  					return localVarReturnValue, localVarHttpResponse, newErr
  5871  				}
  5872  				newErr.model = v
  5873  				return localVarReturnValue, localVarHttpResponse, newErr
  5874  		}
  5875  		
  5876  		if localVarHttpResponse.StatusCode == 403 {
  5877  			var v interface{}
  5878  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5879  				if err != nil {
  5880  					newErr.error = err.Error()
  5881  					return localVarReturnValue, localVarHttpResponse, newErr
  5882  				}
  5883  				newErr.model = v
  5884  				return localVarReturnValue, localVarHttpResponse, newErr
  5885  		}
  5886  		
  5887  		if localVarHttpResponse.StatusCode == 404 {
  5888  			var v string
  5889  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5890  				if err != nil {
  5891  					newErr.error = err.Error()
  5892  					return localVarReturnValue, localVarHttpResponse, newErr
  5893  				}
  5894  				newErr.model = v
  5895  				return localVarReturnValue, localVarHttpResponse, newErr
  5896  		}
  5897  		
  5898  		if localVarHttpResponse.StatusCode == 418 {
  5899  			var v ExamplepbNumericEnum
  5900  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5901  				if err != nil {
  5902  					newErr.error = err.Error()
  5903  					return localVarReturnValue, localVarHttpResponse, newErr
  5904  				}
  5905  				newErr.model = v
  5906  				return localVarReturnValue, localVarHttpResponse, newErr
  5907  		}
  5908  		
  5909  		if localVarHttpResponse.StatusCode == 500 {
  5910  			var v ExamplepbErrorResponse
  5911  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5912  				if err != nil {
  5913  					newErr.error = err.Error()
  5914  					return localVarReturnValue, localVarHttpResponse, newErr
  5915  				}
  5916  				newErr.model = v
  5917  				return localVarReturnValue, localVarHttpResponse, newErr
  5918  		}
  5919  		
  5920  		if localVarHttpResponse.StatusCode == 0 {
  5921  			var v RpcStatus
  5922  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  5923  				if err != nil {
  5924  					newErr.error = err.Error()
  5925  					return localVarReturnValue, localVarHttpResponse, newErr
  5926  				}
  5927  				newErr.model = v
  5928  				return localVarReturnValue, localVarHttpResponse, newErr
  5929  		}
  5930  		
  5931  		return localVarReturnValue, localVarHttpResponse, newErr
  5932  	}
  5933  
  5934  	return localVarReturnValue, localVarHttpResponse, nil
  5935  }
  5936  
  5937  /* 
  5938  ABitOfEverythingServiceApiService
  5939   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  5940   * @param uuidName
  5941   * @param body
  5942  
  5943  @return interface{}
  5944  */
  5945  func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceUpdateV23(ctx context.Context, uuidName string, body ABitOfEverythingServiceUpdateV2Body) (interface{}, *http.Response, error) {
  5946  	var (
  5947  		localVarHttpMethod = strings.ToUpper("Patch")
  5948  		localVarPostBody   interface{}
  5949  		localVarFileName   string
  5950  		localVarFileBytes  []byte
  5951  		localVarReturnValue interface{}
  5952  	)
  5953  
  5954  	// create path and map variables
  5955  	localVarPath := a.client.cfg.BasePath + "/v2a/example/a_bit_of_everything/{uuidName}"
  5956  	localVarPath = strings.Replace(localVarPath, "{"+"uuidName"+"}", fmt.Sprintf("%v", uuidName), -1)
  5957  
  5958  	localVarHeaderParams := make(map[string]string)
  5959  	localVarQueryParams := url.Values{}
  5960  	localVarFormParams := url.Values{}
  5961  
  5962  	// to determine the Content-Type header
  5963  	localVarHttpContentTypes := []string{"application/json", "application/x-foo-mime"}
  5964  
  5965  	// set Content-Type header
  5966  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5967  	if localVarHttpContentType != "" {
  5968  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5969  	}
  5970  
  5971  	// to determine the Accept header
  5972  	localVarHttpHeaderAccepts := []string{"application/json", "application/x-foo-mime"}
  5973  
  5974  	// set Accept header
  5975  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5976  	if localVarHttpHeaderAccept != "" {
  5977  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5978  	}
  5979  	// body params
  5980  	localVarPostBody = &body
  5981  	if ctx != nil {
  5982  		// API Key Authentication
  5983  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5984  			var key string
  5985  			if auth.Prefix != "" {
  5986  				key = auth.Prefix + " " + auth.Key
  5987  			} else {
  5988  				key = auth.Key
  5989  			}
  5990  			localVarHeaderParams["X-API-Key"] = key
  5991  			
  5992  		}
  5993  	}
  5994  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5995  	if err != nil {
  5996  		return localVarReturnValue, nil, err
  5997  	}
  5998  
  5999  	localVarHttpResponse, err := a.client.callAPI(r)
  6000  	if err != nil || localVarHttpResponse == nil {
  6001  		return localVarReturnValue, localVarHttpResponse, err
  6002  	}
  6003  
  6004  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  6005  	localVarHttpResponse.Body.Close()
  6006  	if err != nil {
  6007  		return localVarReturnValue, localVarHttpResponse, err
  6008  	}
  6009  
  6010  	if localVarHttpResponse.StatusCode < 300 {
  6011  		// If we succeed, return the data, otherwise pass on to decode error.
  6012  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6013  		if err == nil { 
  6014  			return localVarReturnValue, localVarHttpResponse, err
  6015  		}
  6016  	}
  6017  
  6018  	if localVarHttpResponse.StatusCode >= 300 {
  6019  		newErr := GenericSwaggerError{
  6020  			body: localVarBody,
  6021  			error: localVarHttpResponse.Status,
  6022  		}
  6023  		
  6024  		if localVarHttpResponse.StatusCode == 200 {
  6025  			var v interface{}
  6026  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6027  				if err != nil {
  6028  					newErr.error = err.Error()
  6029  					return localVarReturnValue, localVarHttpResponse, newErr
  6030  				}
  6031  				newErr.model = v
  6032  				return localVarReturnValue, localVarHttpResponse, newErr
  6033  		}
  6034  		
  6035  		if localVarHttpResponse.StatusCode == 403 {
  6036  			var v interface{}
  6037  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6038  				if err != nil {
  6039  					newErr.error = err.Error()
  6040  					return localVarReturnValue, localVarHttpResponse, newErr
  6041  				}
  6042  				newErr.model = v
  6043  				return localVarReturnValue, localVarHttpResponse, newErr
  6044  		}
  6045  		
  6046  		if localVarHttpResponse.StatusCode == 404 {
  6047  			var v string
  6048  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6049  				if err != nil {
  6050  					newErr.error = err.Error()
  6051  					return localVarReturnValue, localVarHttpResponse, newErr
  6052  				}
  6053  				newErr.model = v
  6054  				return localVarReturnValue, localVarHttpResponse, newErr
  6055  		}
  6056  		
  6057  		if localVarHttpResponse.StatusCode == 418 {
  6058  			var v ExamplepbNumericEnum
  6059  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6060  				if err != nil {
  6061  					newErr.error = err.Error()
  6062  					return localVarReturnValue, localVarHttpResponse, newErr
  6063  				}
  6064  				newErr.model = v
  6065  				return localVarReturnValue, localVarHttpResponse, newErr
  6066  		}
  6067  		
  6068  		if localVarHttpResponse.StatusCode == 500 {
  6069  			var v ExamplepbErrorResponse
  6070  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6071  				if err != nil {
  6072  					newErr.error = err.Error()
  6073  					return localVarReturnValue, localVarHttpResponse, newErr
  6074  				}
  6075  				newErr.model = v
  6076  				return localVarReturnValue, localVarHttpResponse, newErr
  6077  		}
  6078  		
  6079  		if localVarHttpResponse.StatusCode == 0 {
  6080  			var v RpcStatus
  6081  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
  6082  				if err != nil {
  6083  					newErr.error = err.Error()
  6084  					return localVarReturnValue, localVarHttpResponse, newErr
  6085  				}
  6086  				newErr.model = v
  6087  				return localVarReturnValue, localVarHttpResponse, newErr
  6088  		}
  6089  		
  6090  		return localVarReturnValue, localVarHttpResponse, newErr
  6091  	}
  6092  
  6093  	return localVarReturnValue, localVarHttpResponse, nil
  6094  }