forked from loafle/openapi-generator-original
Added serialization from list to CSV string, and generic header param handling
This commit is contained in:
parent
50a35f6a65
commit
fc7b45b5e9
@ -50,13 +50,20 @@ class APIClient {
|
||||
|
||||
$headers = array();
|
||||
$headers[] = "Content-type: application/json";
|
||||
$headers[] = "api_key: " . $this->apiKey;
|
||||
|
||||
# Allow API key from $headerParams to override default
|
||||
$added_api_key = False;
|
||||
if ($headerParams != null) {
|
||||
foreach ($headerParams as $key => $val) {
|
||||
$headers[] = "$key: $val";
|
||||
if ($key == 'api_key') {
|
||||
$added_api_key = True;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! $added_api_key) {
|
||||
$headers[] = "api_key: " . $this->apiKey;
|
||||
}
|
||||
|
||||
if (is_object($postData) or is_array($postData)) {
|
||||
$postData = json_encode($postData);
|
||||
@ -117,13 +124,17 @@ class APIClient {
|
||||
|
||||
|
||||
/**
|
||||
* Serialize the object to a string of JSON
|
||||
*
|
||||
* @param object $object an object to be serialized to JSON
|
||||
* @return string the serialized JSON
|
||||
* Take value and turn it into a string suitable for inclusion in
|
||||
* the path or the header
|
||||
* @param object $object an object to be serialized to a string
|
||||
* @return string the serialized object
|
||||
*/
|
||||
public static function serialize($object) {
|
||||
return json_encode($object);
|
||||
public static function toPathValue($object) {
|
||||
if (is_array($object)) {
|
||||
return implode(',', $object);
|
||||
} else {
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,28 +51,27 @@ $if(!method.responseVoid)$
|
||||
\$queryParams = array();
|
||||
\$headerParams = array();
|
||||
|
||||
$if(method.authToken)$
|
||||
if(\$authToken == null || strlen(\$authToken) == 0) {
|
||||
throw new Exception('missing authToken');
|
||||
}
|
||||
\$headerParams['auth_token'] = \$authToken;
|
||||
$endif$
|
||||
|
||||
|
||||
$if(!method.inputModel)$
|
||||
$method.queryParameters:{ argument |
|
||||
\$queryParams['$argument.name$'] = \$$argument.name$;
|
||||
if(\$$argument.name$ != null) {
|
||||
\$queryParams['$argument.name$'] = \$this->apiClient->toPathValue(\$$argument.name$);
|
||||
}
|
||||
}$
|
||||
$method.pathParameters:{ argument |
|
||||
if(\$$argument.name$ != null) {
|
||||
\$resourcePath = str_replace("{$argument.name$}", \$$argument.name$, \$resourcePath);
|
||||
}
|
||||
}$
|
||||
$method.headerParameters:{ argument |
|
||||
if(\$$argument.name$ != null) {
|
||||
\$headerParams['$argument.name$'] = \$this->apiClient->toPathValue(\$$argument.name$);
|
||||
}
|
||||
}$
|
||||
$endif$
|
||||
$if(method.inputModel)$
|
||||
$method.queryParameters:{ argument |
|
||||
if(\$$argument.inputModelClassArgument$ != null && \$$argument.inputModelClassArgument$->$argument.name$ != null) {
|
||||
\$queryParams["$argument.name$"] = \$$argument.inputModelClassArgument$->$argument.name$;
|
||||
\$queryParams["$argument.name$"] = \$this->apiClient->toPathValue(\$$argument.inputModelClassArgument$->$argument.name$);
|
||||
}
|
||||
}$
|
||||
$method.pathParameters:{ argument |
|
||||
@ -80,7 +79,13 @@ $method.pathParameters:{ argument |
|
||||
\$resourcePath = str_replace("{$argument.name$}", \$$argument.inputModelClassArgument$->$argument.name$, \$resourcePath);
|
||||
}
|
||||
}$
|
||||
$method.headerParameters:{ argument |
|
||||
if(\$$argument.inputModelClassArgument$ != null && \$$argument.inputModelClassArgument$->$argument.name$ != null) {
|
||||
\$headerParams['$argument.name$'] = \$this->apiClient->toPathValue(\$$argument.inputModelClassArgument$->$argument.name$);
|
||||
}
|
||||
}$
|
||||
$endif$
|
||||
|
||||
//make the API Call
|
||||
$if(method.postObject)$
|
||||
\$response = \$this->apiClient->callAPI(\$resourcePath, \$method, \$queryParams, \$postData, \$headerParams);
|
||||
|
@ -71,14 +71,17 @@ class APIClient:
|
||||
|
||||
return data
|
||||
|
||||
def serialize(self, obj):
|
||||
"""
|
||||
def toPathValue(self, obj):
|
||||
"""Serialize a list to a CSV string, if necessary.
|
||||
Args:
|
||||
obj -- data object to be serialized
|
||||
Returns:
|
||||
string -- json serialization of object
|
||||
"""
|
||||
return json.dumps(obj)
|
||||
if type(obj) == list:
|
||||
return ','.join(obj)
|
||||
else:
|
||||
return obj
|
||||
|
||||
def deserialize(self, obj, objClass):
|
||||
"""Derialize a JSON string into an object.
|
||||
|
@ -51,33 +51,36 @@ $methods:{ method |
|
||||
|
||||
queryParams = {}
|
||||
headerParams = {}
|
||||
$if(method.authToken)$
|
||||
if not authToken:
|
||||
raise Exception('missing authToken')
|
||||
headerParams['auth_token'] = authToken
|
||||
$endif$
|
||||
|
||||
$if(!method.inputModel)$
|
||||
$method.queryParameters:{ argument |
|
||||
queryParams['$argument.name$'] = $argument.name$
|
||||
queryParams['$argument.name$'] = self.apiClient.toPathValue($argument.name$)
|
||||
}$
|
||||
|
||||
$method.pathParameters:{ argument |
|
||||
if $argument.name$ != None:
|
||||
resourcePath = resourcePath.replace('{$argument.name$}', $argument.name$)
|
||||
|
||||
}$
|
||||
$method.headerParameters:{ argument |
|
||||
if $argument.name$ != None:
|
||||
headerParams['$argument.name$'] = self.apiClient.toPathValue($argument.name$)
|
||||
}$
|
||||
$endif$
|
||||
$if(method.inputModel)$
|
||||
$method.queryParameters:{ argument |
|
||||
if $argument.inputModelClassArgument$ != None and $argument.inputModelClassArgument$.$argument.name$ != None:
|
||||
queryParams['$argument.name$'] = $argument.inputModelClassArgument$.$argument.name$
|
||||
queryParams['$argument.name$'] = self.apiClient.toPathValue($argument.inputModelClassArgument$.$argument.name$)
|
||||
|
||||
}$
|
||||
$method.pathParameters:{ argument |
|
||||
if $argument.inputModelClassArgument$ != None and $argument.inputModelClassArgument$.$argument.name$ != None:
|
||||
resourcePath = resourcePath.replace('{$argument.name$}', $argument.inputModelClassArgument$.$argument.name$)
|
||||
}$
|
||||
$method.headerParameters:{ argument |
|
||||
if $argument.inputModelClassArgument$ != None and $argument.inputModelClassArgument$.$argument.name$ != None:
|
||||
headerParams['$argument.name$'] = self.apiClient.toPathValue($argument.inputModelClassArgument$.$argument.name$)
|
||||
}$
|
||||
|
||||
$endif$
|
||||
|
||||
# Make the API Call
|
||||
|
Loading…
x
Reference in New Issue
Block a user