fix: python client generator didn't respect range response specification (#16451)

* bug: python client generator didn't respect range response specification (e.g. "1XX", "2XX", etx.).  Return values tended to become None as a result

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
Davy Durham 2023-08-30 21:15:30 -05:00 committed by GitHub
parent e73143d777
commit 4a1c70f2f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 0 deletions

View File

@ -234,6 +234,9 @@ class ApiClient(object):
# data needs deserialization or returns HTTP data (deserialized) only # data needs deserialization or returns HTTP data (deserialized) only
if _preload_content or _return_http_data_only: if _preload_content or _return_http_data_only:
response_type = response_types_map.get(str(response_data.status), None) response_type = response_types_map.get(str(response_data.status), None)
if not response_type and type(response_data.status) == int and 100 <= response_data.status <= 599:
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)
if response_type == "bytearray": if response_type == "bytearray":
response_data.data = response_data.data response_data.data = response_data.data

View File

@ -227,6 +227,9 @@ class ApiClient(object):
# data needs deserialization or returns HTTP data (deserialized) only # data needs deserialization or returns HTTP data (deserialized) only
if _preload_content or _return_http_data_only: if _preload_content or _return_http_data_only:
response_type = response_types_map.get(str(response_data.status), None) response_type = response_types_map.get(str(response_data.status), None)
if not response_type and type(response_data.status) == int and 100 <= response_data.status <= 599:
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)
if response_type == "bytearray": if response_type == "bytearray":
response_data.data = response_data.data response_data.data = response_data.data

View File

@ -227,6 +227,9 @@ class ApiClient(object):
# data needs deserialization or returns HTTP data (deserialized) only # data needs deserialization or returns HTTP data (deserialized) only
if _preload_content or _return_http_data_only: if _preload_content or _return_http_data_only:
response_type = response_types_map.get(str(response_data.status), None) response_type = response_types_map.get(str(response_data.status), None)
if not response_type and type(response_data.status) == int and 100 <= response_data.status <= 599:
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)
if response_type == "bytearray": if response_type == "bytearray":
response_data.data = response_data.data response_data.data = response_data.data

View File

@ -226,6 +226,9 @@ class ApiClient(object):
# data needs deserialization or returns HTTP data (deserialized) only # data needs deserialization or returns HTTP data (deserialized) only
if _preload_content or _return_http_data_only: if _preload_content or _return_http_data_only:
response_type = response_types_map.get(str(response_data.status), None) response_type = response_types_map.get(str(response_data.status), None)
if not response_type and type(response_data.status) == int and 100 <= response_data.status <= 599:
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)
if response_type == "bytearray": if response_type == "bytearray":
response_data.data = response_data.data response_data.data = response_data.data