Merge remote-tracking branch 'origin/master' into 2.3.0

This commit is contained in:
wing328 2016-11-11 00:23:36 +08:00
commit 7b45c9ccd8
18 changed files with 190 additions and 110 deletions

View File

@ -17,7 +17,6 @@ class ApiClient {
final dson = new Dartson.JSON()
..addTransformer(new DateTimeParser(), DateTime);
final DateFormat _dateFormatter = new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final _RegList = new RegExp(r'^List<(.*)>$');
final _RegMap = new RegExp(r'^Map<String,(.*)>$');
@ -33,24 +32,6 @@ class ApiClient {
_defaultHeaderMap[key] = value;
}
/// Format the given Date object into string.
String formatDate(DateTime date) {
return _dateFormatter.format(date);
}
/// Format the given parameter object into string.
String parameterToString(Object param) {
if (param == null) {
return '';
} else if (param is DateTime) {
return formatDate(param);
} else if (param is List) {
return (param).join(',');
} else {
return param.toString();
}
}
dynamic _deserialize(dynamic value, String targetType) {
try {
switch (targetType) {

View File

@ -11,7 +11,7 @@ Iterable<QueryParam> _convertParametersForCollectionFormat(
if (name == null || name.isEmpty || value == null) return params;
if (value is! List) {
params.add(new QueryParam(name, '$value'));
params.add(new QueryParam(name, _parameterToString(value)));
return params;
}
@ -23,11 +23,22 @@ Iterable<QueryParam> _convertParametersForCollectionFormat(
: collectionFormat; // default: csv
if (collectionFormat == "multi") {
return values.map((v) => new QueryParam(name, '$v'));
return values.map((v) => new QueryParam(name, _parameterToString(v)));
}
String delimiter = _delimiters[collectionFormat] ?? ",";
params.add(new QueryParam(name, values.join(delimiter)));
params.add(new QueryParam(name, values.map((v)=>_parameterToString(v)).join(delimiter)));
return params;
}
/// Format the given parameter object into string.
String _parameterToString(dynamic value) {
if (value == null) {
return '';
} else if (value is DateTime) {
return value.toUtc().toIso8601String();
} else {
return value.toString();
}
}

View File

@ -6,7 +6,6 @@ import 'package:http/browser_client.dart';{{/browserClient}}
import 'package:http/http.dart';
import 'package:dartson/dartson.dart';
import 'package:dartson/transformers/date_time.dart';
import 'package:intl/intl.dart';
part 'api_client.dart';
part 'api_helper.dart';

View File

@ -4,7 +4,6 @@ description: {{pubDescription}}
dependencies:
http: '>=0.11.1 <0.12.0'
dartson: "^0.2.4"
intl: ">=0.12.4"
dev_dependencies:
guinness: '^0.1.17'

View File

@ -98,6 +98,7 @@ class {{classname}}(object):
all_params = [{{#allParams}}'{{paramName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}]
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -211,6 +212,7 @@ class {{classname}}(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
{{/operation}}
{{/operations}}

View File

@ -96,7 +96,7 @@ class ApiClient(object):
path_params=None, query_params=None, header_params=None,
body=None, post_params=None, files=None,
response_type=None, auth_settings=None, callback=None,
_return_http_data_only=None, collection_formats=None):
_return_http_data_only=None, collection_formats=None, _preload_content=True):
# header parameters
header_params = header_params or {}
@ -144,22 +144,24 @@ class ApiClient(object):
response_data = self.request(method, url,
query_params=query_params,
headers=header_params,
post_params=post_params, body=body)
post_params=post_params, body=body, _preload_content=_preload_content)
self.last_response = response_data
# deserialize response data
if response_type:
deserialized_data = self.deserialize(response_data, response_type)
else:
deserialized_data = None
return_data = response_data
if _preload_content:
# deserialize response data
if response_type:
return_data = self.deserialize(response_data, response_type)
else:
return_data = None
if callback:
callback(deserialized_data) if _return_http_data_only else callback((deserialized_data, response_data.status, response_data.getheaders()))
callback(return_data) if _return_http_data_only else callback((return_data, response_data.status, response_data.getheaders()))
elif _return_http_data_only:
return (deserialized_data)
return (return_data)
else:
return (deserialized_data, response_data.status, response_data.getheaders())
return (return_data, response_data.status, response_data.getheaders())
def sanitize_for_serialization(self, obj):
"""
@ -277,7 +279,7 @@ class ApiClient(object):
path_params=None, query_params=None, header_params=None,
body=None, post_params=None, files=None,
response_type=None, auth_settings=None, callback=None,
_return_http_data_only=None, collection_formats=None):
_return_http_data_only=None, collection_formats=None, _preload_content=True):
"""
Makes the HTTP request (synchronous) and return the deserialized data.
To make an async request, define a function for callback.
@ -307,13 +309,15 @@ class ApiClient(object):
The method will return the request thread.
If parameter callback is None,
then the method will return the response directly.
:param _preload_content: if False, the urllib3.HTTPResponse object will be returned without
reading/decoding response data. Default is True.
"""
if callback is None:
return self.__call_api(resource_path, method,
path_params, query_params, header_params,
body, post_params, files,
response_type, auth_settings, callback,
_return_http_data_only, collection_formats)
_return_http_data_only, collection_formats, _preload_content)
else:
thread = threading.Thread(target=self.__call_api,
args=(resource_path, method,
@ -322,51 +326,58 @@ class ApiClient(object):
post_params, files,
response_type, auth_settings,
callback, _return_http_data_only,
collection_formats))
collection_formats, _preload_content))
thread.start()
return thread
def request(self, method, url, query_params=None, headers=None,
post_params=None, body=None):
post_params=None, body=None, _preload_content=True):
"""
Makes the HTTP request using RESTClient.
"""
if method == "GET":
return self.rest_client.GET(url,
query_params=query_params,
_preload_content=_preload_content,
headers=headers)
elif method == "HEAD":
return self.rest_client.HEAD(url,
query_params=query_params,
_preload_content=_preload_content,
headers=headers)
elif method == "OPTIONS":
return self.rest_client.OPTIONS(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "POST":
return self.rest_client.POST(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "PUT":
return self.rest_client.PUT(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "PATCH":
return self.rest_client.PATCH(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "DELETE":
return self.rest_client.DELETE(url,
query_params=query_params,
headers=headers,
_preload_content=_preload_content,
body=body)
else:
raise ValueError(

View File

@ -85,7 +85,7 @@ class RESTClientObject(object):
)
def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None):
body=None, post_params=None, _preload_content=True):
"""
:param method: http request method
:param url: http request url
@ -95,6 +95,8 @@ class RESTClientObject(object):
:param post_params: request post parameters,
`application/x-www-form-urlencoded`
and `multipart/form-data`
:param _preload_content: if False, the urllib3.HTTPResponse object will be returned without
reading/decoding response data. Default is True.
"""
method = method.upper()
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS']
@ -121,11 +123,13 @@ class RESTClientObject(object):
request_body = json.dumps(body)
r = self.pool_manager.request(method, url,
body=request_body,
preload_content=_preload_content,
headers=headers)
elif headers['Content-Type'] == 'application/x-www-form-urlencoded':
r = self.pool_manager.request(method, url,
fields=post_params,
encode_multipart=False,
preload_content=_preload_content,
headers=headers)
elif headers['Content-Type'] == 'multipart/form-data':
# must del headers['Content-Type'], or the correct Content-Type
@ -134,6 +138,7 @@ class RESTClientObject(object):
r = self.pool_manager.request(method, url,
fields=post_params,
encode_multipart=True,
preload_content=_preload_content,
headers=headers)
# Pass a `string` parameter directly in the body to support
# other content types than Json when `body` argument is provided
@ -142,6 +147,7 @@ class RESTClientObject(object):
request_body = body
r = self.pool_manager.request(method, url,
body=request_body,
preload_content=_preload_content,
headers=headers)
else:
# Cannot generate the request from given parameters
@ -152,68 +158,77 @@ class RESTClientObject(object):
else:
r = self.pool_manager.request(method, url,
fields=query_params,
preload_content=_preload_content,
headers=headers)
except urllib3.exceptions.SSLError as e:
msg = "{0}\n{1}".format(type(e).__name__, str(e))
raise ApiException(status=0, reason=msg)
r = RESTResponse(r)
if _preload_content:
r = RESTResponse(r)
# In the python 3, the response.data is bytes.
# we need to decode it to string.
if PY3:
r.data = r.data.decode('utf8')
# In the python 3, the response.data is bytes.
# we need to decode it to string.
if PY3:
r.data = r.data.decode('utf8')
# log response body
logger.debug("response body: %s", r.data)
# log response body
logger.debug("response body: %s", r.data)
if r.status not in range(200, 206):
raise ApiException(http_resp=r)
return r
def GET(self, url, headers=None, query_params=None):
def GET(self, url, headers=None, query_params=None, _preload_content=True):
return self.request("GET", url,
headers=headers,
_preload_content=_preload_content,
query_params=query_params)
def HEAD(self, url, headers=None, query_params=None):
def HEAD(self, url, headers=None, query_params=None, _preload_content=True):
return self.request("HEAD", url,
headers=headers,
_preload_content=_preload_content,
query_params=query_params)
def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None):
def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("OPTIONS", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def DELETE(self, url, headers=None, query_params=None, body=None):
def DELETE(self, url, headers=None, query_params=None, body=None, _preload_content=True):
return self.request("DELETE", url,
headers=headers,
query_params=query_params,
_preload_content=_preload_content,
body=body)
def POST(self, url, headers=None, query_params=None, post_params=None, body=None):
def POST(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("POST", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def PUT(self, url, headers=None, query_params=None, post_params=None, body=None):
def PUT(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("PUT", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None):
def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("PATCH", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)

View File

@ -6,7 +6,6 @@ import 'package:http/browser_client.dart';
import 'package:http/http.dart';
import 'package:dartson/dartson.dart';
import 'package:dartson/transformers/date_time.dart';
import 'package:intl/intl.dart';
part 'api_client.dart';
part 'api_helper.dart';

View File

@ -17,7 +17,6 @@ class ApiClient {
final dson = new Dartson.JSON()
..addTransformer(new DateTimeParser(), DateTime);
final DateFormat _dateFormatter = new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final _RegList = new RegExp(r'^List<(.*)>$');
final _RegMap = new RegExp(r'^Map<String,(.*)>$');
@ -32,24 +31,6 @@ class ApiClient {
_defaultHeaderMap[key] = value;
}
/// Format the given Date object into string.
String formatDate(DateTime date) {
return _dateFormatter.format(date);
}
/// Format the given parameter object into string.
String parameterToString(Object param) {
if (param == null) {
return '';
} else if (param is DateTime) {
return formatDate(param);
} else if (param is List) {
return (param).join(',');
} else {
return param.toString();
}
}
dynamic _deserialize(dynamic value, String targetType) {
try {
switch (targetType) {

View File

@ -11,7 +11,7 @@ Iterable<QueryParam> _convertParametersForCollectionFormat(
if (name == null || name.isEmpty || value == null) return params;
if (value is! List) {
params.add(new QueryParam(name, '$value'));
params.add(new QueryParam(name, _parameterToString(value)));
return params;
}
@ -23,11 +23,22 @@ Iterable<QueryParam> _convertParametersForCollectionFormat(
: collectionFormat; // default: csv
if (collectionFormat == "multi") {
return values.map((v) => new QueryParam(name, '$v'));
return values.map((v) => new QueryParam(name, _parameterToString(v)));
}
String delimiter = _delimiters[collectionFormat] ?? ",";
params.add(new QueryParam(name, values.join(delimiter)));
params.add(new QueryParam(name, values.map((v)=>_parameterToString(v)).join(delimiter)));
return params;
}
/// Format the given parameter object into string.
String _parameterToString(dynamic value) {
if (value == null) {
return '';
} else if (value is DateTime) {
return value.toUtc().toIso8601String();
} else {
return value.toString();
}
}

View File

@ -4,7 +4,6 @@ description: Swagger API client
dependencies:
http: '>=0.11.1 <0.12.0'
dartson: "^0.2.4"
intl: ">=0.12.4"
dev_dependencies:
guinness: '^0.1.17'

View File

@ -186,8 +186,8 @@ No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
- **Content-Type**: */*
- **Accept**: */*
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -96,7 +96,7 @@ class ApiClient(object):
path_params=None, query_params=None, header_params=None,
body=None, post_params=None, files=None,
response_type=None, auth_settings=None, callback=None,
_return_http_data_only=None, collection_formats=None):
_return_http_data_only=None, collection_formats=None, _preload_content=True):
# header parameters
header_params = header_params or {}
@ -144,22 +144,24 @@ class ApiClient(object):
response_data = self.request(method, url,
query_params=query_params,
headers=header_params,
post_params=post_params, body=body)
post_params=post_params, body=body, _preload_content=_preload_content)
self.last_response = response_data
# deserialize response data
if response_type:
deserialized_data = self.deserialize(response_data, response_type)
else:
deserialized_data = None
return_data = response_data
if _preload_content:
# deserialize response data
if response_type:
return_data = self.deserialize(response_data, response_type)
else:
return_data = None
if callback:
callback(deserialized_data) if _return_http_data_only else callback((deserialized_data, response_data.status, response_data.getheaders()))
callback(return_data) if _return_http_data_only else callback((return_data, response_data.status, response_data.getheaders()))
elif _return_http_data_only:
return (deserialized_data)
return (return_data)
else:
return (deserialized_data, response_data.status, response_data.getheaders())
return (return_data, response_data.status, response_data.getheaders())
def sanitize_for_serialization(self, obj):
"""
@ -277,7 +279,7 @@ class ApiClient(object):
path_params=None, query_params=None, header_params=None,
body=None, post_params=None, files=None,
response_type=None, auth_settings=None, callback=None,
_return_http_data_only=None, collection_formats=None):
_return_http_data_only=None, collection_formats=None, _preload_content=True):
"""
Makes the HTTP request (synchronous) and return the deserialized data.
To make an async request, define a function for callback.
@ -307,13 +309,15 @@ class ApiClient(object):
The method will return the request thread.
If parameter callback is None,
then the method will return the response directly.
:param _preload_content: if False, the urllib3.HTTPResponse object will be returned without
reading/decoding response data. Default is True.
"""
if callback is None:
return self.__call_api(resource_path, method,
path_params, query_params, header_params,
body, post_params, files,
response_type, auth_settings, callback,
_return_http_data_only, collection_formats)
_return_http_data_only, collection_formats, _preload_content)
else:
thread = threading.Thread(target=self.__call_api,
args=(resource_path, method,
@ -322,51 +326,58 @@ class ApiClient(object):
post_params, files,
response_type, auth_settings,
callback, _return_http_data_only,
collection_formats))
collection_formats, _preload_content))
thread.start()
return thread
def request(self, method, url, query_params=None, headers=None,
post_params=None, body=None):
post_params=None, body=None, _preload_content=True):
"""
Makes the HTTP request using RESTClient.
"""
if method == "GET":
return self.rest_client.GET(url,
query_params=query_params,
_preload_content=_preload_content,
headers=headers)
elif method == "HEAD":
return self.rest_client.HEAD(url,
query_params=query_params,
_preload_content=_preload_content,
headers=headers)
elif method == "OPTIONS":
return self.rest_client.OPTIONS(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "POST":
return self.rest_client.POST(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "PUT":
return self.rest_client.PUT(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "PATCH":
return self.rest_client.PATCH(url,
query_params=query_params,
headers=headers,
post_params=post_params,
_preload_content=_preload_content,
body=body)
elif method == "DELETE":
return self.rest_client.DELETE(url,
query_params=query_params,
headers=headers,
_preload_content=_preload_content,
body=body)
else:
raise ValueError(

View File

@ -102,6 +102,7 @@ class FakeApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -157,6 +158,7 @@ class FakeApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def test_endpoint_parameters(self, number, double, pattern_without_delimiter, byte, **kwargs):
@ -236,6 +238,7 @@ class FakeApi(object):
all_params = ['number', 'double', 'pattern_without_delimiter', 'byte', 'integer', 'int32', 'int64', 'float', 'string', 'binary', 'date', 'date_time', 'password', 'param_callback']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -352,6 +355,7 @@ class FakeApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def test_enum_parameters(self, **kwargs):
@ -419,6 +423,7 @@ class FakeApi(object):
all_params = ['enum_form_string_array', 'enum_form_string', 'enum_header_string_array', 'enum_header_string', 'enum_query_string_array', 'enum_query_string', 'enum_query_integer', 'enum_query_double']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -466,13 +471,13 @@ class FakeApi(object):
# HTTP header `Accept`
header_params['Accept'] = self.api_client.\
select_header_accept(['application/json'])
select_header_accept(['*/*'])
if not header_params['Accept']:
del header_params['Accept']
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.\
select_header_content_type(['application/json'])
select_header_content_type(['*/*'])
# Authentication setting
auth_settings = []
@ -488,4 +493,5 @@ class FakeApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)

View File

@ -102,6 +102,7 @@ class PetApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -157,6 +158,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def delete_pet(self, pet_id, **kwargs):
@ -212,6 +214,7 @@ class PetApi(object):
all_params = ['pet_id', 'api_key']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -269,6 +272,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def find_pets_by_status(self, status, **kwargs):
@ -322,6 +326,7 @@ class PetApi(object):
all_params = ['status']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -378,6 +383,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def find_pets_by_tags(self, tags, **kwargs):
@ -431,6 +437,7 @@ class PetApi(object):
all_params = ['tags']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -487,6 +494,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def get_pet_by_id(self, pet_id, **kwargs):
@ -540,6 +548,7 @@ class PetApi(object):
all_params = ['pet_id']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -595,6 +604,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def update_pet(self, body, **kwargs):
@ -648,6 +658,7 @@ class PetApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -703,6 +714,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def update_pet_with_form(self, pet_id, **kwargs):
@ -760,6 +772,7 @@ class PetApi(object):
all_params = ['pet_id', 'name', 'status']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -819,6 +832,7 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def upload_file(self, pet_id, **kwargs):
@ -876,6 +890,7 @@ class PetApi(object):
all_params = ['pet_id', 'additional_metadata', 'file']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -935,4 +950,5 @@ class PetApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)

View File

@ -102,6 +102,7 @@ class StoreApi(object):
all_params = ['order_id']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -159,6 +160,7 @@ class StoreApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def get_inventory(self, **kwargs):
@ -210,6 +212,7 @@ class StoreApi(object):
all_params = []
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -260,6 +263,7 @@ class StoreApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def get_order_by_id(self, order_id, **kwargs):
@ -313,6 +317,7 @@ class StoreApi(object):
all_params = ['order_id']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -372,6 +377,7 @@ class StoreApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def place_order(self, body, **kwargs):
@ -425,6 +431,7 @@ class StoreApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -480,4 +487,5 @@ class StoreApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)

View File

@ -102,6 +102,7 @@ class UserApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -157,6 +158,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def create_users_with_array_input(self, body, **kwargs):
@ -210,6 +212,7 @@ class UserApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -265,6 +268,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def create_users_with_list_input(self, body, **kwargs):
@ -318,6 +322,7 @@ class UserApi(object):
all_params = ['body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -373,6 +378,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def delete_user(self, username, **kwargs):
@ -426,6 +432,7 @@ class UserApi(object):
all_params = ['username']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -481,6 +488,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def get_user_by_name(self, username, **kwargs):
@ -534,6 +542,7 @@ class UserApi(object):
all_params = ['username']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -589,6 +598,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def login_user(self, username, password, **kwargs):
@ -644,6 +654,7 @@ class UserApi(object):
all_params = ['username', 'password']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -704,6 +715,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def logout_user(self, **kwargs):
@ -755,6 +767,7 @@ class UserApi(object):
all_params = []
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -805,6 +818,7 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)
def update_user(self, username, body, **kwargs):
@ -860,6 +874,7 @@ class UserApi(object):
all_params = ['username', 'body']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
params = locals()
for key, val in iteritems(params['kwargs']):
@ -920,4 +935,5 @@ class UserApi(object):
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
collection_formats=collection_formats)

View File

@ -105,7 +105,7 @@ class RESTClientObject(object):
)
def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None):
body=None, post_params=None, _preload_content=True):
"""
:param method: http request method
:param url: http request url
@ -115,6 +115,8 @@ class RESTClientObject(object):
:param post_params: request post parameters,
`application/x-www-form-urlencoded`
and `multipart/form-data`
:param _preload_content: if False, the urllib3.HTTPResponse object will be returned without
reading/decoding response data. Default is True.
"""
method = method.upper()
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS']
@ -141,11 +143,13 @@ class RESTClientObject(object):
request_body = json.dumps(body)
r = self.pool_manager.request(method, url,
body=request_body,
preload_content=_preload_content,
headers=headers)
elif headers['Content-Type'] == 'application/x-www-form-urlencoded':
r = self.pool_manager.request(method, url,
fields=post_params,
encode_multipart=False,
preload_content=_preload_content,
headers=headers)
elif headers['Content-Type'] == 'multipart/form-data':
# must del headers['Content-Type'], or the correct Content-Type
@ -154,6 +158,7 @@ class RESTClientObject(object):
r = self.pool_manager.request(method, url,
fields=post_params,
encode_multipart=True,
preload_content=_preload_content,
headers=headers)
# Pass a `string` parameter directly in the body to support
# other content types than Json when `body` argument is provided
@ -162,6 +167,7 @@ class RESTClientObject(object):
request_body = body
r = self.pool_manager.request(method, url,
body=request_body,
preload_content=_preload_content,
headers=headers)
else:
# Cannot generate the request from given parameters
@ -172,68 +178,77 @@ class RESTClientObject(object):
else:
r = self.pool_manager.request(method, url,
fields=query_params,
preload_content=_preload_content,
headers=headers)
except urllib3.exceptions.SSLError as e:
msg = "{0}\n{1}".format(type(e).__name__, str(e))
raise ApiException(status=0, reason=msg)
r = RESTResponse(r)
if _preload_content:
r = RESTResponse(r)
# In the python 3, the response.data is bytes.
# we need to decode it to string.
if PY3:
r.data = r.data.decode('utf8')
# In the python 3, the response.data is bytes.
# we need to decode it to string.
if PY3:
r.data = r.data.decode('utf8')
# log response body
logger.debug("response body: %s", r.data)
# log response body
logger.debug("response body: %s", r.data)
if r.status not in range(200, 206):
raise ApiException(http_resp=r)
return r
def GET(self, url, headers=None, query_params=None):
def GET(self, url, headers=None, query_params=None, _preload_content=True):
return self.request("GET", url,
headers=headers,
_preload_content=_preload_content,
query_params=query_params)
def HEAD(self, url, headers=None, query_params=None):
def HEAD(self, url, headers=None, query_params=None, _preload_content=True):
return self.request("HEAD", url,
headers=headers,
_preload_content=_preload_content,
query_params=query_params)
def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None):
def OPTIONS(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("OPTIONS", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def DELETE(self, url, headers=None, query_params=None, body=None):
def DELETE(self, url, headers=None, query_params=None, body=None, _preload_content=True):
return self.request("DELETE", url,
headers=headers,
query_params=query_params,
_preload_content=_preload_content,
body=body)
def POST(self, url, headers=None, query_params=None, post_params=None, body=None):
def POST(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("POST", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def PUT(self, url, headers=None, query_params=None, post_params=None, body=None):
def PUT(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("PUT", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)
def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None):
def PATCH(self, url, headers=None, query_params=None, post_params=None, body=None, _preload_content=True):
return self.request("PATCH", url,
headers=headers,
query_params=query_params,
post_params=post_params,
_preload_content=_preload_content,
body=body)