@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.
Files changed (2) hide show
  1. package/network.js +20 -5
  2. 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 (response.status === 401 && (response.statusText === 'Expired JWT Token' || (typeof jsonData['message'] != 'undefined' && jsonData['message'] === 'Expired JWT Token') || (typeof jsonData['error'] != 'undefined' && jsonData['error'] === 'expired_token'))) {
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 (jqxhr.status === 401 && (jqxhr.statusText === 'Expired JWT Token' || (typeof jqxhr.responseJSON['message'] != 'undefined' && jqxhr.responseJSON['message'] === 'Expired JWT Token') || (typeof jqxhr.responseJSON['error'] != 'undefined' && jqxhr.responseJSON['error'] === 'expired_token' ))) {
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 (jqxhr.status === 401 && (jqxhr.statusText === 'Expired JWT Token' || (typeof jqxhr.responseJSON['message'] != 'undefined' && jqxhr.responseJSON['message'] === 'Expired JWT Token') || (typeof jqxhr.responseJSON['error'] != 'undefined' && jqxhr.responseJSON['error'] === 'expired_token' ))) {
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 (response.status === 401 && url !== HTTPRequest.refreshTokenUrl && (response.statusText === 'Expired JWT Token' || (typeof jqxhr.responseJSON['message'] != 'undefined' && jqxhr.responseJSON['message'] === 'Expired JWT Token') || (typeof jsonData['error'] != 'undefined' && jsonData['error'] === 'expired_token'))) {
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 && jqxhr.status === 401 && (jqxhr.statusText === 'Expired JWT Token' || (typeof jqxhr.responseJSON['message'] != 'undefined' && jqxhr.responseJSON['message'] === 'Expired JWT Token') || (typeof jqxhr.responseJSON['error'] != 'undefined' && jqxhr.responseJSON['error'] === 'expired_token' ))) {
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osimatic/helpers-js",
3
- "version": "1.0.64",
3
+ "version": "1.0.65",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"