[Go] properly set header parameters on api clients (#14637)

* [Go] properly set header parameters on api clients

* update samples

* update samples

---------

Co-authored-by: Paul Sokolik <paul.sokolik@gmail.com>
This commit is contained in:
William Cheng 2023-02-07 21:45:24 +08:00 committed by GitHub
parent d90bdcbec7
commit cda3517891
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 143 additions and 139 deletions

View File

@ -189,15 +189,15 @@ func (a *{{{classname}}}Service) {{nickname}}Execute(r {{#structPrefix}}{{&class
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "{{baseName}}", s.Index(i), "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", s.Index(i), "{{collectionFormat}}")
}
} else {
parameterAddToQuery(localVarQueryParams, "{{baseName}}", t, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", t, "{{collectionFormat}}")
}
}
{{/isCollectionFormatMulti}}
{{^isCollectionFormatMulti}}
parameterAddToQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
{{/isCollectionFormatMulti}}
{{/required}}
{{^required}}
@ -207,14 +207,14 @@ func (a *{{{classname}}}Service) {{nickname}}Execute(r {{#structPrefix}}{{&class
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "{{baseName}}", s.Index(i), "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", s.Index(i), "{{collectionFormat}}")
}
} else {
parameterAddToQuery(localVarQueryParams, "{{baseName}}", t, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", t, "{{collectionFormat}}")
}
{{/isCollectionFormatMulti}}
{{^isCollectionFormatMulti}}
parameterAddToQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
{{/isCollectionFormatMulti}}
}
{{/required}}
@ -242,11 +242,11 @@ func (a *{{{classname}}}Service) {{nickname}}Execute(r {{#structPrefix}}{{&class
}
{{#headerParams}}
{{#required}}
parameterAddToQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarHeaderParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
{{/required}}
{{^required}}
if r.{{paramName}} != nil {
parameterAddToQuery(localVarQueryParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarHeaderParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
}
{{/required}}
{{/headerParams}}
@ -272,7 +272,7 @@ func (a *{{{classname}}}Service) {{nickname}}Execute(r {{#structPrefix}}{{&class
{{/isFile}}
{{^isFile}}
{{#required}}
parameterAddToQuery(localVarFormParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarFormParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
{{/required}}
{{^required}}
{{#isModel}}
@ -286,7 +286,7 @@ func (a *{{{classname}}}Service) {{nickname}}Execute(r {{#structPrefix}}{{&class
{{/isModel}}
{{^isModel}}
if r.{{paramName}} != nil {
parameterAddToQuery(localVarFormParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
parameterAddToHeaderOrQuery(localVarFormParams, "{{baseName}}", r.{{paramName}}, "{{collectionFormat}}")
}
{{/isModel}}
{{/required}}

View File

@ -150,8 +150,9 @@ func parameterValueToString( obj interface{}, key string ) string {
return fmt.Sprintf("%v", dataMap[key])
}
// parameterAddToQuery adds the provided object to the url query supporting deep object syntax
func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
// parameterAddToHeaderOrQuery adds the provided object to the request header or url query
// supporting deep object syntax
func parameterAddToHeaderOrQuery(headerOrQueryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
var v = reflect.ValueOf(obj)
var value = ""
if v == reflect.ValueOf(nil) {
@ -167,11 +168,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
if err != nil {
return
}
parameterAddToQuery(queryParams, keyPrefix, dataMap, collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, dataMap, collectionType)
return
}
if t, ok := obj.(time.Time); ok {
parameterAddToQuery(queryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
return
}
value = v.Type().String() + " value"
@ -183,7 +184,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
var lenIndValue = indValue.Len()
for i:=0;i<lenIndValue;i++ {
var arrayValue = indValue.Index(i)
parameterAddToQuery(queryParams, keyPrefix, arrayValue.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, arrayValue.Interface(), collectionType)
}
return
@ -195,14 +196,14 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
iter := indValue.MapRange()
for iter.Next() {
k,v := iter.Key(), iter.Value()
parameterAddToQuery(queryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
}
return
case reflect.Interface:
fallthrough
case reflect.Ptr:
parameterAddToQuery(queryParams, keyPrefix, v.Elem().Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, v.Elem().Interface(), collectionType)
return
case reflect.Int, reflect.Int8, reflect.Int16,
@ -222,7 +223,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
}
}
switch valuesMap := queryParams.(type) {
switch valuesMap := headerOrQueryParams.(type) {
case url.Values:
if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" {
valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value)

View File

@ -902,7 +902,7 @@ func (a *FakeApiService) TestBodyWithQueryParamsExecute(r ApiTestBodyWithQueryPa
return nil, reportError("body is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "query", r.query, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "query", r.query, "")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"application/json"}
@ -1247,24 +1247,24 @@ func (a *FakeApiService) TestEndpointParametersExecute(r ApiTestEndpointParamete
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.integer != nil {
parameterAddToQuery(localVarFormParams, "integer", r.integer, "")
parameterAddToHeaderOrQuery(localVarFormParams, "integer", r.integer, "")
}
if r.int32_ != nil {
parameterAddToQuery(localVarFormParams, "int32", r.int32_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "int32", r.int32_, "")
}
if r.int64_ != nil {
parameterAddToQuery(localVarFormParams, "int64", r.int64_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "int64", r.int64_, "")
}
parameterAddToQuery(localVarFormParams, "number", r.number, "")
parameterAddToHeaderOrQuery(localVarFormParams, "number", r.number, "")
if r.float != nil {
parameterAddToQuery(localVarFormParams, "float", r.float, "")
parameterAddToHeaderOrQuery(localVarFormParams, "float", r.float, "")
}
parameterAddToQuery(localVarFormParams, "double", r.double, "")
parameterAddToHeaderOrQuery(localVarFormParams, "double", r.double, "")
if r.string_ != nil {
parameterAddToQuery(localVarFormParams, "string", r.string_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "string", r.string_, "")
}
parameterAddToQuery(localVarFormParams, "pattern_without_delimiter", r.patternWithoutDelimiter, "")
parameterAddToQuery(localVarFormParams, "byte", r.byte_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "pattern_without_delimiter", r.patternWithoutDelimiter, "")
parameterAddToHeaderOrQuery(localVarFormParams, "byte", r.byte_, "")
var binaryLocalVarFormFileName string
var binaryLocalVarFileName string
var binaryLocalVarFileBytes []byte
@ -1283,16 +1283,16 @@ func (a *FakeApiService) TestEndpointParametersExecute(r ApiTestEndpointParamete
formFiles = append(formFiles, formFile{fileBytes: binaryLocalVarFileBytes, fileName: binaryLocalVarFileName, formFileName: binaryLocalVarFormFileName})
}
if r.date != nil {
parameterAddToQuery(localVarFormParams, "date", r.date, "")
parameterAddToHeaderOrQuery(localVarFormParams, "date", r.date, "")
}
if r.dateTime != nil {
parameterAddToQuery(localVarFormParams, "dateTime", r.dateTime, "")
parameterAddToHeaderOrQuery(localVarFormParams, "dateTime", r.dateTime, "")
}
if r.password != nil {
parameterAddToQuery(localVarFormParams, "password", r.password, "")
parameterAddToHeaderOrQuery(localVarFormParams, "password", r.password, "")
}
if r.callback != nil {
parameterAddToQuery(localVarFormParams, "callback", r.callback, "")
parameterAddToHeaderOrQuery(localVarFormParams, "callback", r.callback, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1422,16 +1422,16 @@ func (a *FakeApiService) TestEnumParametersExecute(r ApiTestEnumParametersReques
localVarFormParams := url.Values{}
if r.enumQueryStringArray != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_string_array", r.enumQueryStringArray, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_string_array", r.enumQueryStringArray, "csv")
}
if r.enumQueryString != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_string", r.enumQueryString, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_string", r.enumQueryString, "")
}
if r.enumQueryInteger != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_integer", r.enumQueryInteger, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_integer", r.enumQueryInteger, "")
}
if r.enumQueryDouble != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_double", r.enumQueryDouble, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_double", r.enumQueryDouble, "")
}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"application/x-www-form-urlencoded"}
@ -1451,16 +1451,16 @@ func (a *FakeApiService) TestEnumParametersExecute(r ApiTestEnumParametersReques
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.enumHeaderStringArray != nil {
parameterAddToQuery(localVarQueryParams, "enum_header_string_array", r.enumHeaderStringArray, "csv")
parameterAddToHeaderOrQuery(localVarHeaderParams, "enum_header_string_array", r.enumHeaderStringArray, "csv")
}
if r.enumHeaderString != nil {
parameterAddToQuery(localVarQueryParams, "enum_header_string", r.enumHeaderString, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "enum_header_string", r.enumHeaderString, "")
}
if r.enumFormStringArray != nil {
parameterAddToQuery(localVarFormParams, "enum_form_string_array", r.enumFormStringArray, "csv")
parameterAddToHeaderOrQuery(localVarFormParams, "enum_form_string_array", r.enumFormStringArray, "csv")
}
if r.enumFormString != nil {
parameterAddToQuery(localVarFormParams, "enum_form_string", r.enumFormString, "")
parameterAddToHeaderOrQuery(localVarFormParams, "enum_form_string", r.enumFormString, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1584,13 +1584,13 @@ func (a *FakeApiService) TestGroupParametersExecute(r ApiTestGroupParametersRequ
return nil, reportError("requiredInt64Group is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "required_string_group", r.requiredStringGroup, "")
parameterAddToQuery(localVarQueryParams, "required_int64_group", r.requiredInt64Group, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "required_string_group", r.requiredStringGroup, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "required_int64_group", r.requiredInt64Group, "")
if r.stringGroup != nil {
parameterAddToQuery(localVarQueryParams, "string_group", r.stringGroup, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "string_group", r.stringGroup, "")
}
if r.int64Group != nil {
parameterAddToQuery(localVarQueryParams, "int64_group", r.int64Group, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "int64_group", r.int64Group, "")
}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -1609,9 +1609,9 @@ func (a *FakeApiService) TestGroupParametersExecute(r ApiTestGroupParametersRequ
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToQuery(localVarQueryParams, "required_boolean_group", r.requiredBooleanGroup, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "required_boolean_group", r.requiredBooleanGroup, "")
if r.booleanGroup != nil {
parameterAddToQuery(localVarQueryParams, "boolean_group", r.booleanGroup, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "boolean_group", r.booleanGroup, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1817,8 +1817,8 @@ func (a *FakeApiService) TestJsonFormDataExecute(r ApiTestJsonFormDataRequest) (
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToQuery(localVarFormParams, "param", r.param, "")
parameterAddToQuery(localVarFormParams, "param2", r.param2, "")
parameterAddToHeaderOrQuery(localVarFormParams, "param", r.param, "")
parameterAddToHeaderOrQuery(localVarFormParams, "param2", r.param2, "")
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
return nil, err
@ -1935,19 +1935,19 @@ func (a *FakeApiService) TestQueryParameterCollectionFormatExecute(r ApiTestQuer
return nil, reportError("context is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "pipe", r.pipe, "csv")
parameterAddToQuery(localVarQueryParams, "ioutil", r.ioutil, "csv")
parameterAddToQuery(localVarQueryParams, "http", r.http, "ssv")
parameterAddToQuery(localVarQueryParams, "url", r.url, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "pipe", r.pipe, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "ioutil", r.ioutil, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "http", r.http, "ssv")
parameterAddToHeaderOrQuery(localVarQueryParams, "url", r.url, "csv")
{
t := *r.context
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "context", s.Index(i), "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "context", s.Index(i), "multi")
}
} else {
parameterAddToQuery(localVarQueryParams, "context", t, "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "context", t, "multi")
}
}
// to determine the Content-Type header

View File

@ -312,7 +312,7 @@ func (a *PetApiService) DeletePetExecute(r ApiDeletePetRequest) (*http.Response,
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.apiKey != nil {
parameterAddToQuery(localVarQueryParams, "api_key", r.apiKey, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "api_key", r.apiKey, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -397,7 +397,7 @@ func (a *PetApiService) FindPetsByStatusExecute(r ApiFindPetsByStatusRequest) ([
return localVarReturnValue, nil, reportError("status is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "status", r.status, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "status", r.status, "csv")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -510,7 +510,7 @@ func (a *PetApiService) FindPetsByTagsExecute(r ApiFindPetsByTagsRequest) ([]Pet
return localVarReturnValue, nil, reportError("tags is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "tags", r.tags, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "tags", r.tags, "csv")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -857,10 +857,10 @@ func (a *PetApiService) UpdatePetWithFormExecute(r ApiUpdatePetWithFormRequest)
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.name != nil {
parameterAddToQuery(localVarFormParams, "name", r.name, "")
parameterAddToHeaderOrQuery(localVarFormParams, "name", r.name, "")
}
if r.status != nil {
parameterAddToQuery(localVarFormParams, "status", r.status, "")
parameterAddToHeaderOrQuery(localVarFormParams, "status", r.status, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -969,7 +969,7 @@ func (a *PetApiService) UploadFileExecute(r ApiUploadFileRequest) (*ApiResponse,
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.additionalMetadata != nil {
parameterAddToQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
parameterAddToHeaderOrQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
}
var fileLocalVarFormFileName string
var fileLocalVarFileName string
@ -1107,7 +1107,7 @@ func (a *PetApiService) UploadFileWithRequiredFileExecute(r ApiUploadFileWithReq
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.additionalMetadata != nil {
parameterAddToQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
parameterAddToHeaderOrQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
}
var requiredFileLocalVarFormFileName string
var requiredFileLocalVarFileName string

View File

@ -677,8 +677,8 @@ func (a *UserApiService) LoginUserExecute(r ApiLoginUserRequest) (string, *http.
return localVarReturnValue, nil, reportError("password is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "username", r.username, "")
parameterAddToQuery(localVarQueryParams, "password", r.password, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "username", r.username, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "password", r.password, "")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}

View File

@ -156,8 +156,9 @@ func parameterValueToString( obj interface{}, key string ) string {
return fmt.Sprintf("%v", dataMap[key])
}
// parameterAddToQuery adds the provided object to the url query supporting deep object syntax
func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
// parameterAddToHeaderOrQuery adds the provided object to the request header or url query
// supporting deep object syntax
func parameterAddToHeaderOrQuery(headerOrQueryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
var v = reflect.ValueOf(obj)
var value = ""
if v == reflect.ValueOf(nil) {
@ -173,11 +174,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
if err != nil {
return
}
parameterAddToQuery(queryParams, keyPrefix, dataMap, collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, dataMap, collectionType)
return
}
if t, ok := obj.(time.Time); ok {
parameterAddToQuery(queryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
return
}
value = v.Type().String() + " value"
@ -189,7 +190,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
var lenIndValue = indValue.Len()
for i:=0;i<lenIndValue;i++ {
var arrayValue = indValue.Index(i)
parameterAddToQuery(queryParams, keyPrefix, arrayValue.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, arrayValue.Interface(), collectionType)
}
return
@ -201,14 +202,14 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
iter := indValue.MapRange()
for iter.Next() {
k,v := iter.Key(), iter.Value()
parameterAddToQuery(queryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
}
return
case reflect.Interface:
fallthrough
case reflect.Ptr:
parameterAddToQuery(queryParams, keyPrefix, v.Elem().Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, v.Elem().Interface(), collectionType)
return
case reflect.Int, reflect.Int8, reflect.Int16,
@ -228,7 +229,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
}
}
switch valuesMap := queryParams.(type) {
switch valuesMap := headerOrQueryParams.(type) {
case url.Values:
if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" {
valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value)

View File

@ -140,8 +140,9 @@ func parameterValueToString( obj interface{}, key string ) string {
return fmt.Sprintf("%v", dataMap[key])
}
// parameterAddToQuery adds the provided object to the url query supporting deep object syntax
func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
// parameterAddToHeaderOrQuery adds the provided object to the request header or url query
// supporting deep object syntax
func parameterAddToHeaderOrQuery(headerOrQueryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
var v = reflect.ValueOf(obj)
var value = ""
if v == reflect.ValueOf(nil) {
@ -157,11 +158,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
if err != nil {
return
}
parameterAddToQuery(queryParams, keyPrefix, dataMap, collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, dataMap, collectionType)
return
}
if t, ok := obj.(time.Time); ok {
parameterAddToQuery(queryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
return
}
value = v.Type().String() + " value"
@ -173,7 +174,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
var lenIndValue = indValue.Len()
for i:=0;i<lenIndValue;i++ {
var arrayValue = indValue.Index(i)
parameterAddToQuery(queryParams, keyPrefix, arrayValue.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, arrayValue.Interface(), collectionType)
}
return
@ -185,14 +186,14 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
iter := indValue.MapRange()
for iter.Next() {
k,v := iter.Key(), iter.Value()
parameterAddToQuery(queryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
}
return
case reflect.Interface:
fallthrough
case reflect.Ptr:
parameterAddToQuery(queryParams, keyPrefix, v.Elem().Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, v.Elem().Interface(), collectionType)
return
case reflect.Int, reflect.Int8, reflect.Int16,
@ -212,7 +213,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
}
}
switch valuesMap := queryParams.(type) {
switch valuesMap := headerOrQueryParams.(type) {
case url.Values:
if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" {
valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value)

View File

@ -928,7 +928,7 @@ func (a *FakeApiService) TestBodyWithQueryParamsExecute(r ApiTestBodyWithQueryPa
return nil, reportError("user is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "query", r.query, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "query", r.query, "")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"application/json"}
@ -1274,24 +1274,24 @@ func (a *FakeApiService) TestEndpointParametersExecute(r ApiTestEndpointParamete
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.integer != nil {
parameterAddToQuery(localVarFormParams, "integer", r.integer, "")
parameterAddToHeaderOrQuery(localVarFormParams, "integer", r.integer, "")
}
if r.int32_ != nil {
parameterAddToQuery(localVarFormParams, "int32", r.int32_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "int32", r.int32_, "")
}
if r.int64_ != nil {
parameterAddToQuery(localVarFormParams, "int64", r.int64_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "int64", r.int64_, "")
}
parameterAddToQuery(localVarFormParams, "number", r.number, "")
parameterAddToHeaderOrQuery(localVarFormParams, "number", r.number, "")
if r.float != nil {
parameterAddToQuery(localVarFormParams, "float", r.float, "")
parameterAddToHeaderOrQuery(localVarFormParams, "float", r.float, "")
}
parameterAddToQuery(localVarFormParams, "double", r.double, "")
parameterAddToHeaderOrQuery(localVarFormParams, "double", r.double, "")
if r.string_ != nil {
parameterAddToQuery(localVarFormParams, "string", r.string_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "string", r.string_, "")
}
parameterAddToQuery(localVarFormParams, "pattern_without_delimiter", r.patternWithoutDelimiter, "")
parameterAddToQuery(localVarFormParams, "byte", r.byte_, "")
parameterAddToHeaderOrQuery(localVarFormParams, "pattern_without_delimiter", r.patternWithoutDelimiter, "")
parameterAddToHeaderOrQuery(localVarFormParams, "byte", r.byte_, "")
var binaryLocalVarFormFileName string
var binaryLocalVarFileName string
var binaryLocalVarFileBytes []byte
@ -1310,16 +1310,16 @@ func (a *FakeApiService) TestEndpointParametersExecute(r ApiTestEndpointParamete
formFiles = append(formFiles, formFile{fileBytes: binaryLocalVarFileBytes, fileName: binaryLocalVarFileName, formFileName: binaryLocalVarFormFileName})
}
if r.date != nil {
parameterAddToQuery(localVarFormParams, "date", r.date, "")
parameterAddToHeaderOrQuery(localVarFormParams, "date", r.date, "")
}
if r.dateTime != nil {
parameterAddToQuery(localVarFormParams, "dateTime", r.dateTime, "")
parameterAddToHeaderOrQuery(localVarFormParams, "dateTime", r.dateTime, "")
}
if r.password != nil {
parameterAddToQuery(localVarFormParams, "password", r.password, "")
parameterAddToHeaderOrQuery(localVarFormParams, "password", r.password, "")
}
if r.callback != nil {
parameterAddToQuery(localVarFormParams, "callback", r.callback, "")
parameterAddToHeaderOrQuery(localVarFormParams, "callback", r.callback, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1453,20 +1453,20 @@ func (a *FakeApiService) TestEnumParametersExecute(r ApiTestEnumParametersReques
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "enum_query_string_array", s.Index(i), "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_string_array", s.Index(i), "multi")
}
} else {
parameterAddToQuery(localVarQueryParams, "enum_query_string_array", t, "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_string_array", t, "multi")
}
}
if r.enumQueryString != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_string", r.enumQueryString, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_string", r.enumQueryString, "")
}
if r.enumQueryInteger != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_integer", r.enumQueryInteger, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_integer", r.enumQueryInteger, "")
}
if r.enumQueryDouble != nil {
parameterAddToQuery(localVarQueryParams, "enum_query_double", r.enumQueryDouble, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "enum_query_double", r.enumQueryDouble, "")
}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"application/x-www-form-urlencoded"}
@ -1486,16 +1486,16 @@ func (a *FakeApiService) TestEnumParametersExecute(r ApiTestEnumParametersReques
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.enumHeaderStringArray != nil {
parameterAddToQuery(localVarQueryParams, "enum_header_string_array", r.enumHeaderStringArray, "csv")
parameterAddToHeaderOrQuery(localVarHeaderParams, "enum_header_string_array", r.enumHeaderStringArray, "csv")
}
if r.enumHeaderString != nil {
parameterAddToQuery(localVarQueryParams, "enum_header_string", r.enumHeaderString, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "enum_header_string", r.enumHeaderString, "")
}
if r.enumFormStringArray != nil {
parameterAddToQuery(localVarFormParams, "enum_form_string_array", r.enumFormStringArray, "csv")
parameterAddToHeaderOrQuery(localVarFormParams, "enum_form_string_array", r.enumFormStringArray, "csv")
}
if r.enumFormString != nil {
parameterAddToQuery(localVarFormParams, "enum_form_string", r.enumFormString, "")
parameterAddToHeaderOrQuery(localVarFormParams, "enum_form_string", r.enumFormString, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1619,13 +1619,13 @@ func (a *FakeApiService) TestGroupParametersExecute(r ApiTestGroupParametersRequ
return nil, reportError("requiredInt64Group is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "required_string_group", r.requiredStringGroup, "")
parameterAddToQuery(localVarQueryParams, "required_int64_group", r.requiredInt64Group, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "required_string_group", r.requiredStringGroup, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "required_int64_group", r.requiredInt64Group, "")
if r.stringGroup != nil {
parameterAddToQuery(localVarQueryParams, "string_group", r.stringGroup, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "string_group", r.stringGroup, "")
}
if r.int64Group != nil {
parameterAddToQuery(localVarQueryParams, "int64_group", r.int64Group, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "int64_group", r.int64Group, "")
}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -1644,9 +1644,9 @@ func (a *FakeApiService) TestGroupParametersExecute(r ApiTestGroupParametersRequ
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToQuery(localVarQueryParams, "required_boolean_group", r.requiredBooleanGroup, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "required_boolean_group", r.requiredBooleanGroup, "")
if r.booleanGroup != nil {
parameterAddToQuery(localVarQueryParams, "boolean_group", r.booleanGroup, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "boolean_group", r.booleanGroup, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -1866,8 +1866,8 @@ func (a *FakeApiService) TestJsonFormDataExecute(r ApiTestJsonFormDataRequest) (
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToQuery(localVarFormParams, "param", r.param, "")
parameterAddToQuery(localVarFormParams, "param2", r.param2, "")
parameterAddToHeaderOrQuery(localVarFormParams, "param", r.param, "")
parameterAddToHeaderOrQuery(localVarFormParams, "param2", r.param2, "")
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
return nil, err
@ -1950,10 +1950,10 @@ func (a *FakeApiService) TestQueryDeepObjectExecute(r ApiTestQueryDeepObjectRequ
localVarFormParams := url.Values{}
if r.testPet != nil {
parameterAddToQuery(localVarQueryParams, "test_pet", r.testPet, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "test_pet", r.testPet, "")
}
if r.inputOptions != nil {
parameterAddToQuery(localVarQueryParams, "inputOptions", r.inputOptions, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "inputOptions", r.inputOptions, "")
}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -2093,24 +2093,24 @@ func (a *FakeApiService) TestQueryParameterCollectionFormatExecute(r ApiTestQuer
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "pipe", s.Index(i), "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "pipe", s.Index(i), "multi")
}
} else {
parameterAddToQuery(localVarQueryParams, "pipe", t, "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "pipe", t, "multi")
}
}
parameterAddToQuery(localVarQueryParams, "ioutil", r.ioutil, "csv")
parameterAddToQuery(localVarQueryParams, "http", r.http, "ssv")
parameterAddToQuery(localVarQueryParams, "url", r.url, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "ioutil", r.ioutil, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "http", r.http, "ssv")
parameterAddToHeaderOrQuery(localVarQueryParams, "url", r.url, "csv")
{
t := *r.context
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "context", s.Index(i), "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "context", s.Index(i), "multi")
}
} else {
parameterAddToQuery(localVarQueryParams, "context", t, "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "context", t, "multi")
}
}
// to determine the Content-Type header
@ -2226,10 +2226,10 @@ func (a *FakeApiService) TestUniqueItemsHeaderAndQueryParameterCollectionFormatE
if reflect.TypeOf(t).Kind() == reflect.Slice {
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
parameterAddToQuery(localVarQueryParams, "queryUnique", s.Index(i), "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "queryUnique", s.Index(i), "multi")
}
} else {
parameterAddToQuery(localVarQueryParams, "queryUnique", t, "multi")
parameterAddToHeaderOrQuery(localVarQueryParams, "queryUnique", t, "multi")
}
}
// to determine the Content-Type header
@ -2249,7 +2249,7 @@ func (a *FakeApiService) TestUniqueItemsHeaderAndQueryParameterCollectionFormatE
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToQuery(localVarQueryParams, "headerUnique", r.headerUnique, "csv")
parameterAddToHeaderOrQuery(localVarHeaderParams, "headerUnique", r.headerUnique, "csv")
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
return localVarReturnValue, nil, err

View File

@ -328,7 +328,7 @@ func (a *PetApiService) DeletePetExecute(r ApiDeletePetRequest) (*http.Response,
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.apiKey != nil {
parameterAddToQuery(localVarQueryParams, "api_key", r.apiKey, "")
parameterAddToHeaderOrQuery(localVarHeaderParams, "api_key", r.apiKey, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -414,7 +414,7 @@ func (a *PetApiService) FindPetsByStatusExecute(r ApiFindPetsByStatusRequest) ([
return localVarReturnValue, nil, reportError("status is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "status", r.status, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "status", r.status, "csv")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -527,7 +527,7 @@ func (a *PetApiService) FindPetsByTagsExecute(r ApiFindPetsByTagsRequest) ([]Pet
return localVarReturnValue, nil, reportError("tags is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "tags", r.tags, "csv")
parameterAddToHeaderOrQuery(localVarQueryParams, "tags", r.tags, "csv")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}
@ -878,10 +878,10 @@ func (a *PetApiService) UpdatePetWithFormExecute(r ApiUpdatePetWithFormRequest)
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.name != nil {
parameterAddToQuery(localVarFormParams, "name", r.name, "")
parameterAddToHeaderOrQuery(localVarFormParams, "name", r.name, "")
}
if r.status != nil {
parameterAddToQuery(localVarFormParams, "status", r.status, "")
parameterAddToHeaderOrQuery(localVarFormParams, "status", r.status, "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@ -992,7 +992,7 @@ func (a *PetApiService) UploadFileExecute(r ApiUploadFileRequest) (*ApiResponse,
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.additionalMetadata != nil {
parameterAddToQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
parameterAddToHeaderOrQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
}
var fileLocalVarFormFileName string
var fileLocalVarFileName string
@ -1132,7 +1132,7 @@ func (a *PetApiService) UploadFileWithRequiredFileExecute(r ApiUploadFileWithReq
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.additionalMetadata != nil {
parameterAddToQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
parameterAddToHeaderOrQuery(localVarFormParams, "additionalMetadata", r.additionalMetadata, "")
}
var requiredFileLocalVarFormFileName string
var requiredFileLocalVarFileName string

View File

@ -695,8 +695,8 @@ func (a *UserApiService) LoginUserExecute(r ApiLoginUserRequest) (string, *http.
return localVarReturnValue, nil, reportError("password is required and must be specified")
}
parameterAddToQuery(localVarQueryParams, "username", r.username, "")
parameterAddToQuery(localVarQueryParams, "password", r.password, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "username", r.username, "")
parameterAddToHeaderOrQuery(localVarQueryParams, "password", r.password, "")
// to determine the Content-Type header
localVarHTTPContentTypes := []string{}

View File

@ -159,8 +159,9 @@ func parameterValueToString( obj interface{}, key string ) string {
return fmt.Sprintf("%v", dataMap[key])
}
// parameterAddToQuery adds the provided object to the url query supporting deep object syntax
func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
// parameterAddToHeaderOrQuery adds the provided object to the request header or url query
// supporting deep object syntax
func parameterAddToHeaderOrQuery(headerOrQueryParams interface{}, keyPrefix string, obj interface{}, collectionType string) {
var v = reflect.ValueOf(obj)
var value = ""
if v == reflect.ValueOf(nil) {
@ -176,11 +177,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
if err != nil {
return
}
parameterAddToQuery(queryParams, keyPrefix, dataMap, collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, dataMap, collectionType)
return
}
if t, ok := obj.(time.Time); ok {
parameterAddToQuery(queryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, t.Format(time.RFC3339), collectionType)
return
}
value = v.Type().String() + " value"
@ -192,7 +193,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
var lenIndValue = indValue.Len()
for i:=0;i<lenIndValue;i++ {
var arrayValue = indValue.Index(i)
parameterAddToQuery(queryParams, keyPrefix, arrayValue.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, arrayValue.Interface(), collectionType)
}
return
@ -204,14 +205,14 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
iter := indValue.MapRange()
for iter.Next() {
k,v := iter.Key(), iter.Value()
parameterAddToQuery(queryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), collectionType)
}
return
case reflect.Interface:
fallthrough
case reflect.Ptr:
parameterAddToQuery(queryParams, keyPrefix, v.Elem().Interface(), collectionType)
parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, v.Elem().Interface(), collectionType)
return
case reflect.Int, reflect.Int8, reflect.Int16,
@ -231,7 +232,7 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac
}
}
switch valuesMap := queryParams.(type) {
switch valuesMap := headerOrQueryParams.(type) {
case url.Values:
if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" {
valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value)