(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody)
| 2831 | return {'url': url, 'method': method, 'body': body, 'headers': headers} |
| 2832 | |
| 2833 | def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody): |
| 2834 | data = self.safe_dict(response, 'data', {}) |
| 2835 | msg = self.safe_string(response, 'msg') |
| 2836 | messageCode = self.safe_string(response, 'code') |
| 2837 | sCode = self.safe_string(data, 'sCode') |
| 2838 | sMsg = self.safe_string(data, 'sMsg') |
| 2839 | errorCode = self.safe_string(data, 'errorCode') |
| 2840 | if (msg is not None) and (msg == '') and (sMsg is not None): |
| 2841 | msg = sMsg |
| 2842 | errorList = self.safe_list(data, 'errorList') |
| 2843 | if errorList is not None: |
| 2844 | for i in range(0, len(errorList)): |
| 2845 | entry = self.safe_dict(errorList, i, {}) |
| 2846 | errorCode = self.safe_string(entry, 'errorCode') |
| 2847 | feedback = self.id + ' ' + body |
| 2848 | if (sCode is None) and (errorCode is not None): |
| 2849 | sCode = errorCode |
| 2850 | retCode = self.safe_string(data, 'retCode') |
| 2851 | if (sCode is None) and (retCode is not None): |
| 2852 | sCode = retCode |
| 2853 | if (code != 200) or (messageCode != '0') or (sCode is not None and sCode != '0'): |
| 2854 | self.throw_exactly_matched_exception(self.exceptions['exact'], messageCode, feedback) |
| 2855 | self.throw_exactly_matched_exception(self.exceptions['exact'], sCode, feedback) |
| 2856 | self.throw_exactly_matched_exception(self.exceptions['exact'], msg, feedback) |
| 2857 | self.throw_broadly_matched_exception(self.exceptions['broad'], msg, feedback) |
| 2858 | raise ExchangeError(feedback) |
| 2859 | else: |
| 2860 | list = self.safe_list(data, 'list', []) |
| 2861 | if ('list' in data) and (list is None): |
| 2862 | raise NullResponse(feedback) |
| 2863 | return None |
nothing calls this directly
no test coverage detected