|
| 1 | +diff --git a/vrchatapi/api_client.py b/vrchatapi/api_client.py |
| 2 | +index 20deb6c..02c7e54 100644 |
| 3 | +--- a/vrchatapi/api_client.py |
| 4 | ++++ b/vrchatapi/api_client.py |
| 5 | +@@ -160,7 +160,7 @@ class ApiClient(object): |
| 6 | + |
| 7 | + # query parameters |
| 8 | + if query_params: |
| 9 | +- query_params = self.sanitize_for_serialization(query_params) |
| 10 | ++ query_params = self.sanitize_for_serialization(query_params, True) |
| 11 | + query_params = self.parameters_to_tuples(query_params, |
| 12 | + collection_formats) |
| 13 | + |
| 14 | +@@ -255,7 +255,7 @@ class ApiClient(object): |
| 15 | + return new_params |
| 16 | + |
| 17 | + @classmethod |
| 18 | +- def sanitize_for_serialization(cls, obj): |
| 19 | ++ def sanitize_for_serialization(cls, obj, query=False): |
| 20 | + """Prepares data for transmission before it is sent with the rest client |
| 21 | + If obj is None, return None. |
| 22 | + If obj is str, int, long, float, bool, return directly. |
| 23 | +@@ -265,6 +265,7 @@ class ApiClient(object): |
| 24 | + If obj is dict, return the dict. |
| 25 | + If obj is OpenAPI model, return the properties dict. |
| 26 | + If obj is io.IOBase, return the bytes |
| 27 | ++ If obj is bool and query is true, return str |
| 28 | + :param obj: The data to serialize. |
| 29 | + :return: The serialized form of data. |
| 30 | + """ |
| 31 | +@@ -272,6 +273,8 @@ class ApiClient(object): |
| 32 | + return { |
| 33 | + key: cls.sanitize_for_serialization(val) for key, val in model_to_dict(obj, serialize=True).items() |
| 34 | + } |
| 35 | ++ elif isinstance(obj, bool) and query: |
| 36 | ++ return str(obj).lower() |
| 37 | + elif isinstance(obj, io.IOBase): |
| 38 | + return cls.get_file_data_and_close_file(obj) |
| 39 | + elif isinstance(obj, (str, int, float, none_type, bool)): |
| 40 | +@@ -279,11 +282,11 @@ class ApiClient(object): |
| 41 | + elif isinstance(obj, (datetime, date)): |
| 42 | + return obj.isoformat() |
| 43 | + elif isinstance(obj, ModelSimple): |
| 44 | +- return cls.sanitize_for_serialization(obj.value) |
| 45 | ++ return cls.sanitize_for_serialization(obj.value, query) |
| 46 | + elif isinstance(obj, (list, tuple)): |
| 47 | +- return [cls.sanitize_for_serialization(item) for item in obj] |
| 48 | ++ return [cls.sanitize_for_serialization(item, query) for item in obj] |
| 49 | + if isinstance(obj, dict): |
| 50 | +- return {key: cls.sanitize_for_serialization(val) for key, val in obj.items()} |
| 51 | ++ return {key: cls.sanitize_for_serialization(val, query) for key, val in obj.items()} |
| 52 | + raise ApiValueError('Unable to prepare type {} for serialization'.format(obj.__class__.__name__)) |
| 53 | + |
| 54 | + def deserialize(self, response, response_type, _check_type): |
0 commit comments