Exception router. Determines which error to raise for bad results
(
result: requests.Response,
name: str = "")
| 68 | |
| 69 | |
| 70 | def exception_handler( |
| 71 | result: requests.Response, |
| 72 | name: str = "") -> NoReturn: |
| 73 | """Exception router. Determines which error to raise for bad results""" |
| 74 | try: |
| 75 | response_content = result.json() |
| 76 | # pylint: disable=broad-except |
| 77 | except Exception: |
| 78 | response_content = result.text |
| 79 | |
| 80 | exc_map = { |
| 81 | 300: SalesforceMoreThanOneRecord, |
| 82 | 400: SalesforceMalformedRequest, |
| 83 | 401: SalesforceExpiredSession, |
| 84 | 403: SalesforceRefusedRequest, |
| 85 | 404: SalesforceResourceNotFound, |
| 86 | } |
| 87 | exc_cls = exc_map.get(result.status_code, SalesforceGeneralError) |
| 88 | |
| 89 | raise exc_cls(result.url, result.status_code, name, response_content) |
| 90 | |
| 91 | |
| 92 | def call_salesforce( |