Merge pull request #30757 from nextchamp-saqib/einv-401-fix
fix(india): 401 & 403 client error while generating IRN
This commit is contained in:
commit
81b3342480
@ -12,6 +12,7 @@ import traceback
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
import jwt
|
import jwt
|
||||||
|
import requests
|
||||||
from frappe import _, bold
|
from frappe import _, bold
|
||||||
from frappe.core.page.background_jobs.background_jobs import get_info
|
from frappe.core.page.background_jobs.background_jobs import get_info
|
||||||
from frappe.integrations.utils import make_get_request, make_post_request
|
from frappe.integrations.utils import make_get_request, make_post_request
|
||||||
@ -829,14 +830,25 @@ class GSPConnector:
|
|||||||
return self.e_invoice_settings.auth_token
|
return self.e_invoice_settings.auth_token
|
||||||
|
|
||||||
def make_request(self, request_type, url, headers=None, data=None):
|
def make_request(self, request_type, url, headers=None, data=None):
|
||||||
|
try:
|
||||||
if request_type == "post":
|
if request_type == "post":
|
||||||
res = make_post_request(url, headers=headers, data=data)
|
res = make_post_request(url, headers=headers, data=data)
|
||||||
else:
|
else:
|
||||||
res = make_get_request(url, headers=headers, data=data)
|
res = make_get_request(url, headers=headers, data=data)
|
||||||
|
|
||||||
|
except requests.exceptions.HTTPError as e:
|
||||||
|
if e.response.status_code in [401, 403] and not hasattr(self, "token_auto_refreshed"):
|
||||||
|
self.auto_refresh_token()
|
||||||
|
headers = self.get_headers()
|
||||||
|
return self.make_request(request_type, url, headers, data)
|
||||||
|
|
||||||
self.log_request(url, headers, data, res)
|
self.log_request(url, headers, data, res)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def auto_refresh_token(self):
|
||||||
|
self.fetch_auth_token()
|
||||||
|
self.token_auto_refreshed = True
|
||||||
|
|
||||||
def log_request(self, url, headers, data, res):
|
def log_request(self, url, headers, data, res):
|
||||||
headers.update({"password": self.credentials.password})
|
headers.update({"password": self.credentials.password})
|
||||||
request_log = frappe.get_doc(
|
request_log = frappe.get_doc(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user