Sanitize tuples properly (#3949)

* Sanitize tuples properly
In Python, Tuples are fixed size in nature whereas lists are dynamic. So
they should be sanitize as same as lists.
Failure case here is when you have a query or post parameter as
Datetime.

* Update the Petstore sample

* Skip file sanitization

* Return tuple instead of list

* Sanitize all tuples, no exceptions
This commit is contained in:
Hamed Ramezanian 2016-10-13 07:41:40 +01:00 committed by wing328
parent a76d69513c
commit 34f1e36146
2 changed files with 8 additions and 2 deletions

View File

@ -176,7 +176,7 @@ class ApiClient(object):
:param obj: The data to serialize.
:return: The serialized form of data.
"""
types = (str, float, bool, tuple) + tuple(integer_types) + (text_type,)
types = (str, float, bool, bytes) + tuple(integer_types) + (text_type,)
if isinstance(obj, type(None)):
return None
elif isinstance(obj, types):
@ -184,6 +184,9 @@ class ApiClient(object):
elif isinstance(obj, list):
return [self.sanitize_for_serialization(sub_obj)
for sub_obj in obj]
elif isinstance(obj, tuple):
return tuple(self.sanitize_for_serialization(sub_obj)
for sub_obj in obj)
elif isinstance(obj, (datetime, date)):
return obj.isoformat()
else:

View File

@ -176,7 +176,7 @@ class ApiClient(object):
:param obj: The data to serialize.
:return: The serialized form of data.
"""
types = (str, float, bool, tuple) + tuple(integer_types) + (text_type,)
types = (str, float, bool, bytes) + tuple(integer_types) + (text_type,)
if isinstance(obj, type(None)):
return None
elif isinstance(obj, types):
@ -184,6 +184,9 @@ class ApiClient(object):
elif isinstance(obj, list):
return [self.sanitize_for_serialization(sub_obj)
for sub_obj in obj]
elif isinstance(obj, tuple):
return tuple(self.sanitize_for_serialization(sub_obj)
for sub_obj in obj)
elif isinstance(obj, (datetime, date)):
return obj.isoformat()
else: