@@ -95,6 +95,12 @@ def _target_api_request(
9595
9696 Returns:
9797 The response to the request made by `requests`.
98+
99+ Raises:
100+ ~vws.exceptions.custom_exceptions.ServerError: There is an error
101+ with Vuforia's servers.
102+ ~vws.exceptions.vws_exceptions.TooManyRequestsError: Vuforia is
103+ rate limiting access.
98104 """
99105 date_string = rfc_1123_date ()
100106
@@ -125,7 +131,7 @@ def _target_api_request(
125131 timeout = request_timeout_seconds ,
126132 )
127133
128- return Response (
134+ response = Response (
129135 text = requests_response .text ,
130136 url = requests_response .url ,
131137 status_code = requests_response .status_code ,
@@ -135,6 +141,19 @@ def _target_api_request(
135141 content = bytes (requests_response .content ),
136142 )
137143
144+ if (
145+ response .status_code == HTTPStatus .TOO_MANY_REQUESTS
146+ ): # pragma: no cover
147+ # The Vuforia API returns a 429 response with no JSON body.
148+ raise TooManyRequestsError (response = response )
149+
150+ if (
151+ response .status_code >= HTTPStatus .INTERNAL_SERVER_ERROR
152+ ): # pragma: no cover
153+ raise ServerError (response = response )
154+
155+ return response
156+
138157
139158@beartype (conf = BeartypeConf (is_pep484_tower = True ))
140159class VWS :
@@ -207,17 +226,6 @@ def make_request(
207226 request_timeout_seconds = self ._request_timeout_seconds ,
208227 )
209228
210- if (
211- response .status_code == HTTPStatus .TOO_MANY_REQUESTS
212- ): # pragma: no cover
213- # The Vuforia API returns a 429 response with no JSON body.
214- raise TooManyRequestsError (response = response )
215-
216- if (
217- response .status_code >= HTTPStatus .INTERNAL_SERVER_ERROR
218- ): # pragma: no cover
219- raise ServerError (response = response )
220-
221229 result_code = json .loads (s = response .text )["result_code" ]
222230
223231 if result_code == expected_result_code :
@@ -772,16 +780,6 @@ def generate_vumark_instance(
772780 if response .status_code == HTTPStatus .OK :
773781 return response .content
774782
775- if (
776- response .status_code == HTTPStatus .TOO_MANY_REQUESTS
777- ): # pragma: no cover
778- raise TooManyRequestsError (response = response )
779-
780- if (
781- response .status_code >= HTTPStatus .INTERNAL_SERVER_ERROR
782- ): # pragma: no cover
783- raise ServerError (response = response )
784-
785783 result_code = json .loads (s = response .text )["result_code" ]
786784
787785 exception = {
0 commit comments