Skip to content

Commit

Permalink
fix: Raise exceptions on non-2xx responses (#16999)
Browse files Browse the repository at this point in the history
  • Loading branch information
robertschweizer authored Nov 7, 2023
1 parent 0673897 commit 65ccf04
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -304,23 +304,22 @@ class ApiClient:
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)

if response_type is None:
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)

if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)
if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)

if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)
if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)

if response_data.status == 404:
raise NotFoundException(http_resp=response_data)
if response_data.status == 404:
raise NotFoundException(http_resp=response_data)

if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)
if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)

# deserialize response data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,23 +297,22 @@ def response_deserialize(
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)

if response_type is None:
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)

if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)
if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)

if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)
if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)

if response_data.status == 404:
raise NotFoundException(http_resp=response_data)
if response_data.status == 404:
raise NotFoundException(http_resp=response_data)

if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)
if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)

# deserialize response data

Expand Down
25 changes: 12 additions & 13 deletions samples/client/echo_api/python/openapi_client/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -297,23 +297,22 @@ def response_deserialize(
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)

if response_type is None:
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)

if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)
if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)

if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)
if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)

if response_data.status == 404:
raise NotFoundException(http_resp=response_data)
if response_data.status == 404:
raise NotFoundException(http_resp=response_data)

if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)
if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)

# deserialize response data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,23 +299,22 @@ def response_deserialize(
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)

if response_type is None:
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)

if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)
if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)

if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)
if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)

if response_data.status == 404:
raise NotFoundException(http_resp=response_data)
if response_data.status == 404:
raise NotFoundException(http_resp=response_data)

if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)
if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)

# deserialize response data

Expand Down
25 changes: 12 additions & 13 deletions samples/openapi3/client/petstore/python/petstore_api/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,23 +296,22 @@ def response_deserialize(
# if not found, look for '1XX', '2XX', etc.
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)

if response_type is None:
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)
if not 200 <= response_data.status <= 299:
if response_data.status == 400:
raise BadRequestException(http_resp=response_data)

if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)
if response_data.status == 401:
raise UnauthorizedException(http_resp=response_data)

if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)
if response_data.status == 403:
raise ForbiddenException(http_resp=response_data)

if response_data.status == 404:
raise NotFoundException(http_resp=response_data)
if response_data.status == 404:
raise NotFoundException(http_resp=response_data)

if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)
if 500 <= response_data.status <= 599:
raise ServiceException(http_resp=response_data)
raise ApiException(http_resp=response_data)

# deserialize response data

Expand Down

0 comments on commit 65ccf04

Please sign in to comment.