laravel-request 1.2.11 → 1.2.13
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/package.json +2 -1
- package/src/Api.js +24 -4
- package/src/ApiRequest.js +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "laravel-request",
|
|
3
3
|
"productName": "laravel-request",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.13",
|
|
5
5
|
"description": "laravel-request",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@msgpack/msgpack": "^3.1.1",
|
|
17
17
|
"axios": "^1.8.4",
|
|
18
|
+
"axios-mock-adapter": "^2.1.0",
|
|
18
19
|
"query-string": "^8.1.0"
|
|
19
20
|
}
|
|
20
21
|
}
|
package/src/Api.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ApiRequest from "./ApiRequest";
|
|
2
2
|
import axios from "axios";
|
|
3
|
+
import MockAdapter from "axios-mock-adapter";
|
|
3
4
|
import { decode } from "@msgpack/msgpack";
|
|
4
5
|
|
|
5
6
|
export default class Api {
|
|
@@ -25,6 +26,15 @@ export default class Api {
|
|
|
25
26
|
return localStorage.getItem('api_token');
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @returns {Promise<AxiosStatic | axios.AxiosStatic | axios>}
|
|
32
|
+
*/
|
|
33
|
+
static axiosResolver = () =>
|
|
34
|
+
{
|
|
35
|
+
return axios;
|
|
36
|
+
}
|
|
37
|
+
|
|
28
38
|
/**
|
|
29
39
|
*
|
|
30
40
|
* @return {string}
|
|
@@ -230,7 +240,15 @@ export default class Api {
|
|
|
230
240
|
jsonData = response.data; // Предполагаем, что данные уже в виде строки
|
|
231
241
|
}
|
|
232
242
|
|
|
233
|
-
|
|
243
|
+
try {
|
|
244
|
+
return JSON.parse(jsonData);
|
|
245
|
+
}catch (error){
|
|
246
|
+
|
|
247
|
+
const enhancedError = new Error(`Ошибка при разборе JSON: ${error.message} - ${url}`);
|
|
248
|
+
|
|
249
|
+
// Выбрасываем улучшенную ошибку
|
|
250
|
+
throw enhancedError;
|
|
251
|
+
}
|
|
234
252
|
} else if (contentType.includes("text/plain")) {
|
|
235
253
|
// Возврат текстовых данных как строки
|
|
236
254
|
return response.data.toString();
|
|
@@ -377,6 +395,7 @@ export default class Api {
|
|
|
377
395
|
let response;
|
|
378
396
|
|
|
379
397
|
data.unique_hash = Api.generateHash();
|
|
398
|
+
const axiosInstance = Api.axiosResolver();
|
|
380
399
|
|
|
381
400
|
if (query.length > 5000) {
|
|
382
401
|
data._method = 'GET';
|
|
@@ -390,7 +409,7 @@ export default class Api {
|
|
|
390
409
|
cancelToken: source?.token
|
|
391
410
|
};
|
|
392
411
|
Api.logRequest(request);
|
|
393
|
-
response = await
|
|
412
|
+
response = await axiosInstance.request(request);
|
|
394
413
|
} else {
|
|
395
414
|
data.timestamp = new Date().getTime();
|
|
396
415
|
let request = {
|
|
@@ -403,7 +422,7 @@ export default class Api {
|
|
|
403
422
|
cancelToken: source?.token
|
|
404
423
|
};
|
|
405
424
|
Api.logRequest(request);
|
|
406
|
-
response = await
|
|
425
|
+
response = await axiosInstance.request(request);
|
|
407
426
|
}
|
|
408
427
|
|
|
409
428
|
return response;
|
|
@@ -423,6 +442,7 @@ export default class Api {
|
|
|
423
442
|
params.timestamp = new Date().getTime();
|
|
424
443
|
|
|
425
444
|
params.unique_hash = Api.generateHash();
|
|
445
|
+
const axiosInstance = Api.axiosResolver();
|
|
426
446
|
|
|
427
447
|
let request = {
|
|
428
448
|
url: url,
|
|
@@ -435,6 +455,6 @@ export default class Api {
|
|
|
435
455
|
cancelToken: source?.token
|
|
436
456
|
};
|
|
437
457
|
Api.logRequest(request);
|
|
438
|
-
return await
|
|
458
|
+
return await axiosInstance.request(request);
|
|
439
459
|
}
|
|
440
460
|
}
|
package/src/ApiRequest.js
CHANGED
|
@@ -347,7 +347,7 @@ export default class ApiRequest {
|
|
|
347
347
|
this.callSuccess = successCallback;
|
|
348
348
|
this.callError = errorCallback;
|
|
349
349
|
this.callFinal = finalCallback;
|
|
350
|
-
this.source =
|
|
350
|
+
this.source = Api.axiosResolver().CancelToken.source();
|
|
351
351
|
|
|
352
352
|
let url = byUrl ? this.url : this.getUrl();
|
|
353
353
|
let notify = null;
|