@osimatic/helpers-js 1.0.64 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/network.js +20 -5
- package/package.json +1 -1
package/network.js
CHANGED
|
@@ -122,6 +122,21 @@ class HTTPRequest {
|
|
|
122
122
|
console.error('Request failure. Status: '+status+' ; HTTP Code: '+jqxhr.responseJSON.code+(null!=errorThrown && ''!==errorThrown ? ' ; Error message: '+errorThrown : ''), jqxhr.responseJSON);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
static isExpiredToken(response, json) {
|
|
126
|
+
if (response.status !== 401) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return (
|
|
131
|
+
response.statusText === 'Expired JWT Token'
|
|
132
|
+
|| (typeof json['message'] != 'undefined' && json['message'] === 'Expired JWT Token')
|
|
133
|
+
|| (typeof json['error'] != 'undefined' && json['error'] === 'expired_token')
|
|
134
|
+
|| (typeof json['error'] != 'undefined' && json['error'] === 'authentification_failure')
|
|
135
|
+
|| (json === 'expired_token')
|
|
136
|
+
|| (json === 'authentification_failure')
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
|
|
125
140
|
static async get(url, data, successCallback, errorCallback) {
|
|
126
141
|
url += (!url.includes('?') ? '?' : '') + this.formatQueryString(data);
|
|
127
142
|
data = null;
|
|
@@ -138,7 +153,7 @@ class HTTPRequest {
|
|
|
138
153
|
try {
|
|
139
154
|
jsonData = await response.json();
|
|
140
155
|
|
|
141
|
-
if (
|
|
156
|
+
if (HTTPRequest.isExpiredToken(response, jsonData)) {
|
|
142
157
|
HTTPRequest.refreshToken(() => HTTPRequest.get(url, data, successCallback, errorCallback));
|
|
143
158
|
return;
|
|
144
159
|
}
|
|
@@ -176,7 +191,7 @@ class HTTPRequest {
|
|
|
176
191
|
}
|
|
177
192
|
},
|
|
178
193
|
error: (jqxhr, status, errorThrown) => {
|
|
179
|
-
if (
|
|
194
|
+
if (HTTPRequest.isExpiredToken(jqxhr, jqxhr.responseJSON)) {
|
|
180
195
|
HTTPRequest.refreshToken(() => HTTPRequest.get(url, data, successCallback, errorCallback));
|
|
181
196
|
return;
|
|
182
197
|
}
|
|
@@ -263,7 +278,7 @@ class HTTPRequest {
|
|
|
263
278
|
$.ajax(Object.assign({...ajaxOptions}, {
|
|
264
279
|
success: (data, status, jqxhr) => File.download(data, jqxhr.getResponseHeader('Content-Type'), jqxhr.getResponseHeader('Content-Disposition')),
|
|
265
280
|
error: (jqxhr, status, errorThrown) => {
|
|
266
|
-
if (
|
|
281
|
+
if (HTTPRequest.isExpiredToken(jqxhr, jqxhr.responseJSON)) {
|
|
267
282
|
HTTPRequest.refreshToken(() => HTTPRequest.download(url, data, errorCallback, completeCallback, method));
|
|
268
283
|
return;
|
|
269
284
|
}
|
|
@@ -300,7 +315,7 @@ class HTTPRequest {
|
|
|
300
315
|
}
|
|
301
316
|
//console.log(url, jsonData);
|
|
302
317
|
|
|
303
|
-
if (
|
|
318
|
+
if (url !== HTTPRequest.refreshTokenUrl && HTTPRequest.isExpiredToken(response, jsonData)) {
|
|
304
319
|
HTTPRequest.refreshToken(() => HTTPRequest.post(url, formData, successCallback, errorCallback, formErrorCallback));
|
|
305
320
|
return;
|
|
306
321
|
}
|
|
@@ -348,7 +363,7 @@ class HTTPRequest {
|
|
|
348
363
|
}
|
|
349
364
|
},
|
|
350
365
|
error: (jqxhr, status, errorThrown) => {
|
|
351
|
-
if (url !== HTTPRequest.refreshTokenUrl &&
|
|
366
|
+
if (url !== HTTPRequest.refreshTokenUrl && HTTPRequest.isExpiredToken(jqxhr, jqxhr.responseJSON)) {
|
|
352
367
|
HTTPRequest.refreshToken(() => HTTPRequest.post(url, formData, successCallback, errorCallback, formErrorCallback));
|
|
353
368
|
return;
|
|
354
369
|
}
|