Skip to content

Commit

Permalink
Merge pull request frappe#30773 from frappe/mergify/bp/version-13-hot…
Browse files Browse the repository at this point in the history
…fix/pr-30757

fix(india): 401 & 403 client error while generating IRN (backport frappe#30757)
  • Loading branch information
deepeshgarg007 authored Apr 22, 2022
2 parents 8335ca6 + 6dddbb9 commit 664a298
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions erpnext/regional/india/e_invoice/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

import frappe
import jwt
import requests
import six
from frappe import _, bold
from frappe.core.page.background_jobs.background_jobs import get_info
Expand Down Expand Up @@ -828,14 +829,25 @@ def get_auth_token(self):
return self.e_invoice_settings.auth_token

def make_request(self, request_type, url, headers=None, data=None):
if request_type == "post":
res = make_post_request(url, headers=headers, data=data)
else:
res = make_get_request(url, headers=headers, data=data)
try:
if request_type == "post":
res = make_post_request(url, headers=headers, data=data)
else:
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)
return res

def auto_refresh_token(self):
self.fetch_auth_token()
self.token_auto_refreshed = True

def log_request(self, url, headers, data, res):
headers.update({"password": self.credentials.password})
request_log = frappe.get_doc(
Expand Down

0 comments on commit 664a298

Please sign in to comment.