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): | ||||||
| 		if request_type == "post": | 		try: | ||||||
| 			res = make_post_request(url, headers=headers, data=data) | 			if request_type == "post": | ||||||
| 		else: | 				res = make_post_request(url, headers=headers, data=data) | ||||||
| 			res = make_get_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) | 		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