api: Fix error reporting when result is not JSON.
Previously, we would return a JSONDecodeError to the user in the event that the server returned a 500 error (or other non-JSON content). (imported from commit 1624dfec6ac65d34216f4de91e33116a54e414fa)
This commit is contained in:
		
							parent
							
								
									b71742b021
								
							
						
					
					
						commit
						2fd94c5e63
					
				
					 1 changed files with 9 additions and 5 deletions
				
			
		|  | @ -187,15 +187,19 @@ class Client(object): | |||
|                 return {'msg': "Unexpected error:\n%s" % traceback.format_exc(), | ||||
|                         "result": "unexpected-error"} | ||||
| 
 | ||||
|             if requests_json_is_function: | ||||
|                 json_result = res.json() | ||||
|             else: | ||||
|                 json_result = res.json | ||||
|             try: | ||||
|                 if requests_json_is_function: | ||||
|                     json_result = res.json() | ||||
|                 else: | ||||
|                     json_result = res.json | ||||
|             except Exception: | ||||
|                 json_result = None | ||||
| 
 | ||||
|             if json_result is not None: | ||||
|                 end_error_retry(True) | ||||
|                 return json_result | ||||
|             end_error_retry(False) | ||||
|             return {'msg': res.text, "result": "http-error", | ||||
|             return {'msg': "Unexpected error from the server", "result": "http-error", | ||||
|                     "status_code": res.status_code} | ||||
| 
 | ||||
|     @classmethod | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tim Abbott
						Tim Abbott