OnlyBiggg commited on
Commit
da67be0
·
1 Parent(s): 5c12122
Files changed (1) hide show
  1. common/external/external_api.py +15 -1
common/external/external_api.py CHANGED
@@ -59,7 +59,21 @@ class API():
59
  response.raise_for_status()
60
  return response.json()
61
  except httpx.HTTPStatusError as http_err:
62
- return {"error": f"HTTP {http_err.response.status_code}: {http_err.response.text}"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  except Exception as err:
64
  return {"error": f"Request failed: {str(err)}"}
65
 
 
59
  response.raise_for_status()
60
  return response.json()
61
  except httpx.HTTPStatusError as http_err:
62
+ ## RETRY FOR 403 ERROR
63
+ if http_err.response.status_code == 403:
64
+ headers.pop("Authorization", None)
65
+ headers["x-access-token"] = access_token
66
+ headers["token_type"] = "anonymous"
67
+ try:
68
+ response = await client.post(url, json=payload, headers=headers)
69
+ response.raise_for_status()
70
+ return response.json()
71
+ except httpx.HTTPStatusError as second_err:
72
+ return {"error": f"[403 RETRY] HTTP {second_err.response.status_code}: {second_err.response.text}"}
73
+ except Exception as second_err:
74
+ return {"error": f"[403 RETRY] Request failed: {str(second_err)}"}
75
+ else:
76
+ return {"error": f"HTTP {http_err.response.status_code}: {http_err.response.text}"}
77
  except Exception as err:
78
  return {"error": f"Request failed: {str(err)}"}
79