MCPcopy Index your code
hub / github.com/dataforseo/PythonClient / ApiException

Class ApiException

dataforseo_client/exceptions.py:75–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73
74
75class ApiException(OpenApiException):
76
77 def __init__(
78 self,
79 status=None,
80 reason=None,
81 http_resp=None,
82 *,
83 body: Optional[str] = None,
84 data: Optional[Any] = None,
85 ) -> None:
86 self.status = status
87 self.reason = reason
88 self.body = body
89 self.data = data
90 self.headers = None
91
92 if http_resp:
93 if self.status is None:
94 self.status = http_resp.status
95 if self.reason is None:
96 self.reason = http_resp.reason
97 if self.body is None:
98 try:
99 self.body = http_resp.data.decode('utf-8')
100 except Exception:
101 pass
102 self.headers = http_resp.getheaders()
103
104 @classmethod
105 def from_response(
106 cls,
107 *,
108 http_resp,
109 body: Optional[str],
110 data: Optional[Any],
111 ) -> Self:
112 if http_resp.status == 400:
113 raise BadRequestException(http_resp=http_resp, body=body, data=data)
114
115 if http_resp.status == 401:
116 raise UnauthorizedException(http_resp=http_resp, body=body, data=data)
117
118 if http_resp.status == 403:
119 raise ForbiddenException(http_resp=http_resp, body=body, data=data)
120
121 if http_resp.status == 404:
122 raise NotFoundException(http_resp=http_resp, body=body, data=data)
123
124 if 500 <= http_resp.status <= 599:
125 raise ServiceException(http_resp=http_resp, body=body, data=data)
126 raise ApiException(http_resp=http_resp, body=body, data=data)
127
128 def __str__(self):
129 """Custom error messages for exception"""
130 error_message = "({0})\n"\
131 "Reason: {1}\n".format(self.status, self.reason)
132 if self.headers:

Callers 3

requestMethod · 0.90
deserializeMethod · 0.90
from_responseMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected