@ledgerhq/live-network 2.0.20 → 2.1.0-nightly.0
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/CHANGELOG.md +6 -0
- package/package.json +3 -3
- package/lib/network.test.d.ts +0 -2
- package/lib/network.test.d.ts.map +0 -1
- package/lib/network.test.js +0 -181
- package/lib/network.test.js.map +0 -1
- package/lib-es/network.test.d.ts +0 -2
- package/lib-es/network.test.d.ts.map +0 -1
- package/lib-es/network.test.js +0 -156
- package/lib-es/network.test.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ledgerhq/live-network
|
|
2
2
|
|
|
3
|
+
## 2.1.0-nightly.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#12321](https://github.com/LedgerHQ/ledger-live/pull/12321) [`63e8f34`](https://github.com/LedgerHQ/ledger-live/commit/63e8f342f6b951ab77bb710b9971f033c05e579e) Thanks [@mcayuelas-ledger](https://github.com/mcayuelas-ledger)! - Bump axios version to 1.12.2
|
|
8
|
+
|
|
3
9
|
## 2.0.20
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/live-network",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-nightly.0",
|
|
4
4
|
"description": "Ledger Live network and cache utilities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger"
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
},
|
|
63
63
|
"license": "Apache-2.0",
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"axios": "1.
|
|
65
|
+
"axios": "1.12.2",
|
|
66
66
|
"lru-cache": "^7.14.1",
|
|
67
|
-
"@ledgerhq/errors": "^6.
|
|
67
|
+
"@ledgerhq/errors": "^6.27.0-nightly.0",
|
|
68
68
|
"@ledgerhq/live-env": "^2.19.0",
|
|
69
69
|
"@ledgerhq/live-promise": "^0.1.1",
|
|
70
70
|
"@ledgerhq/logs": "^6.13.0"
|
package/lib/network.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.test.d.ts","sourceRoot":"","sources":["../src/network.test.ts"],"names":[],"mappings":""}
|
package/lib/network.test.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const axios_1 = __importStar(require("axios"));
|
|
27
|
-
const live_env_1 = require("@ledgerhq/live-env");
|
|
28
|
-
const network_1 = __importStar(require("./network"));
|
|
29
|
-
const logs = __importStar(require("@ledgerhq/logs"));
|
|
30
|
-
jest.mock("axios");
|
|
31
|
-
const mockedAxios = jest.mocked(axios_1.default);
|
|
32
|
-
describe("network", () => {
|
|
33
|
-
const DEFAULT_ENABLE_NETWORK_LOGS = (0, live_env_1.getEnv)("ENABLE_NETWORK_LOGS");
|
|
34
|
-
const DEFAULT_GET_CALLS_RETRY = (0, live_env_1.getEnv)("GET_CALLS_RETRY");
|
|
35
|
-
afterEach(() => {
|
|
36
|
-
// restore the spy created with spyOn
|
|
37
|
-
jest.restoreAllMocks();
|
|
38
|
-
jest.clearAllMocks();
|
|
39
|
-
// Restore DEFAULT_ENABLE_NETWORK_LOGS
|
|
40
|
-
(0, live_env_1.setEnv)("ENABLE_NETWORK_LOGS", DEFAULT_ENABLE_NETWORK_LOGS);
|
|
41
|
-
});
|
|
42
|
-
describe("requestInterceptor", () => {
|
|
43
|
-
test("should return provided request when ENABLE_NETWORK_LOGS is false", () => {
|
|
44
|
-
const request = {
|
|
45
|
-
baseURL: "baseURL",
|
|
46
|
-
url: "url",
|
|
47
|
-
data: "data",
|
|
48
|
-
headers: new axios_1.AxiosHeaders(),
|
|
49
|
-
};
|
|
50
|
-
const req = (0, network_1.requestInterceptor)(request);
|
|
51
|
-
expect(req).toEqual(request);
|
|
52
|
-
});
|
|
53
|
-
test("should return provided request with metadata when ENABLE_NETWORK_LOGS is true", () => {
|
|
54
|
-
(0, live_env_1.setEnv)("ENABLE_NETWORK_LOGS", true);
|
|
55
|
-
const request = {
|
|
56
|
-
baseURL: "baseURL",
|
|
57
|
-
url: "url",
|
|
58
|
-
data: "data",
|
|
59
|
-
headers: new axios_1.AxiosHeaders(),
|
|
60
|
-
};
|
|
61
|
-
const req = (0, network_1.requestInterceptor)(request);
|
|
62
|
-
expect(req).toEqual({
|
|
63
|
-
...request,
|
|
64
|
-
metadata: { startTime: expect.any(Number) },
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
test("should call log when ENABLE_NETWORK_LOGS is true", () => {
|
|
68
|
-
const spy = jest.spyOn(logs, "log");
|
|
69
|
-
(0, live_env_1.setEnv)("ENABLE_NETWORK_LOGS", true);
|
|
70
|
-
const request = {
|
|
71
|
-
baseURL: "baseURL",
|
|
72
|
-
url: "url",
|
|
73
|
-
data: "data",
|
|
74
|
-
headers: new axios_1.AxiosHeaders(),
|
|
75
|
-
};
|
|
76
|
-
(0, network_1.requestInterceptor)(request);
|
|
77
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
describe("responseInterceptor", () => {
|
|
81
|
-
test("should return provided response when ENABLE_NETWORK_LOGS is false", () => {
|
|
82
|
-
const response = {
|
|
83
|
-
config: {
|
|
84
|
-
baseURL: "baseURL",
|
|
85
|
-
url: "url",
|
|
86
|
-
data: "data",
|
|
87
|
-
headers: new axios_1.AxiosHeaders(),
|
|
88
|
-
},
|
|
89
|
-
data: "data",
|
|
90
|
-
status: 200,
|
|
91
|
-
statusText: "OK",
|
|
92
|
-
headers: new axios_1.AxiosHeaders(),
|
|
93
|
-
};
|
|
94
|
-
const res = (0, network_1.responseInterceptor)(response);
|
|
95
|
-
expect(res).toEqual(response);
|
|
96
|
-
});
|
|
97
|
-
test("should return provided response when ENABLE_NETWORK_LOGS is true", () => {
|
|
98
|
-
(0, live_env_1.setEnv)("ENABLE_NETWORK_LOGS", true);
|
|
99
|
-
const response = {
|
|
100
|
-
config: {
|
|
101
|
-
baseURL: "baseURL",
|
|
102
|
-
url: "url",
|
|
103
|
-
data: "data",
|
|
104
|
-
headers: new axios_1.AxiosHeaders(),
|
|
105
|
-
},
|
|
106
|
-
headers: new axios_1.AxiosHeaders(),
|
|
107
|
-
data: "data",
|
|
108
|
-
status: 200,
|
|
109
|
-
statusText: "OK",
|
|
110
|
-
};
|
|
111
|
-
const res = (0, network_1.responseInterceptor)(response);
|
|
112
|
-
expect(res).toEqual(response);
|
|
113
|
-
});
|
|
114
|
-
test("should call log when ENABLE_NETWORK_LOGS is true", () => {
|
|
115
|
-
const spy = jest.spyOn(logs, "log");
|
|
116
|
-
(0, live_env_1.setEnv)("ENABLE_NETWORK_LOGS", true);
|
|
117
|
-
const response = {
|
|
118
|
-
config: {
|
|
119
|
-
baseURL: "baseURL",
|
|
120
|
-
url: "url",
|
|
121
|
-
data: "data",
|
|
122
|
-
headers: new axios_1.AxiosHeaders(),
|
|
123
|
-
},
|
|
124
|
-
headers: new axios_1.AxiosHeaders(),
|
|
125
|
-
data: "data",
|
|
126
|
-
status: 200,
|
|
127
|
-
statusText: "OK",
|
|
128
|
-
};
|
|
129
|
-
(0, network_1.responseInterceptor)(response);
|
|
130
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
131
|
-
});
|
|
132
|
-
test("should retry request when unsuccessful and response status is not 422", async () => {
|
|
133
|
-
const response = {
|
|
134
|
-
config: {
|
|
135
|
-
baseURL: "baseURL",
|
|
136
|
-
url: "url",
|
|
137
|
-
data: "data",
|
|
138
|
-
headers: new axios_1.AxiosHeaders(),
|
|
139
|
-
},
|
|
140
|
-
data: "data",
|
|
141
|
-
status: 500,
|
|
142
|
-
statusText: "Error",
|
|
143
|
-
headers: new axios_1.AxiosHeaders(),
|
|
144
|
-
};
|
|
145
|
-
try {
|
|
146
|
-
mockedAxios.mockImplementation(() => Promise.reject(response));
|
|
147
|
-
await (0, network_1.default)({
|
|
148
|
-
method: "GET",
|
|
149
|
-
url: "https://google.com",
|
|
150
|
-
});
|
|
151
|
-
// eslint-disable-next-line no-empty
|
|
152
|
-
}
|
|
153
|
-
catch { }
|
|
154
|
-
expect(mockedAxios).toHaveBeenCalledTimes(DEFAULT_GET_CALLS_RETRY + 1);
|
|
155
|
-
});
|
|
156
|
-
test("should not retry request when response status is 422", async () => {
|
|
157
|
-
const response = {
|
|
158
|
-
config: {
|
|
159
|
-
baseURL: "baseURL",
|
|
160
|
-
url: "url",
|
|
161
|
-
data: "data",
|
|
162
|
-
},
|
|
163
|
-
data: "data",
|
|
164
|
-
status: 422,
|
|
165
|
-
statusText: "Error",
|
|
166
|
-
headers: {},
|
|
167
|
-
};
|
|
168
|
-
mockedAxios.mockImplementation(() => Promise.reject(response));
|
|
169
|
-
try {
|
|
170
|
-
await (0, network_1.default)({
|
|
171
|
-
method: "GET",
|
|
172
|
-
url: "https://google.com",
|
|
173
|
-
});
|
|
174
|
-
// eslint-disable-next-line no-empty
|
|
175
|
-
}
|
|
176
|
-
catch { }
|
|
177
|
-
expect(mockedAxios).toHaveBeenCalledTimes(1);
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
//# sourceMappingURL=network.test.js.map
|
package/lib/network.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.test.js","sourceRoot":"","sources":["../src/network.test.ts"],"names":[],"mappings":"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"}
|
package/lib-es/network.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.test.d.ts","sourceRoot":"","sources":["../src/network.test.ts"],"names":[],"mappings":""}
|
package/lib-es/network.test.js
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import axios, { AxiosHeaders } from "axios";
|
|
2
|
-
import { getEnv, setEnv } from "@ledgerhq/live-env";
|
|
3
|
-
import network, { requestInterceptor, responseInterceptor } from "./network";
|
|
4
|
-
import * as logs from "@ledgerhq/logs";
|
|
5
|
-
jest.mock("axios");
|
|
6
|
-
const mockedAxios = jest.mocked(axios);
|
|
7
|
-
describe("network", () => {
|
|
8
|
-
const DEFAULT_ENABLE_NETWORK_LOGS = getEnv("ENABLE_NETWORK_LOGS");
|
|
9
|
-
const DEFAULT_GET_CALLS_RETRY = getEnv("GET_CALLS_RETRY");
|
|
10
|
-
afterEach(() => {
|
|
11
|
-
// restore the spy created with spyOn
|
|
12
|
-
jest.restoreAllMocks();
|
|
13
|
-
jest.clearAllMocks();
|
|
14
|
-
// Restore DEFAULT_ENABLE_NETWORK_LOGS
|
|
15
|
-
setEnv("ENABLE_NETWORK_LOGS", DEFAULT_ENABLE_NETWORK_LOGS);
|
|
16
|
-
});
|
|
17
|
-
describe("requestInterceptor", () => {
|
|
18
|
-
test("should return provided request when ENABLE_NETWORK_LOGS is false", () => {
|
|
19
|
-
const request = {
|
|
20
|
-
baseURL: "baseURL",
|
|
21
|
-
url: "url",
|
|
22
|
-
data: "data",
|
|
23
|
-
headers: new AxiosHeaders(),
|
|
24
|
-
};
|
|
25
|
-
const req = requestInterceptor(request);
|
|
26
|
-
expect(req).toEqual(request);
|
|
27
|
-
});
|
|
28
|
-
test("should return provided request with metadata when ENABLE_NETWORK_LOGS is true", () => {
|
|
29
|
-
setEnv("ENABLE_NETWORK_LOGS", true);
|
|
30
|
-
const request = {
|
|
31
|
-
baseURL: "baseURL",
|
|
32
|
-
url: "url",
|
|
33
|
-
data: "data",
|
|
34
|
-
headers: new AxiosHeaders(),
|
|
35
|
-
};
|
|
36
|
-
const req = requestInterceptor(request);
|
|
37
|
-
expect(req).toEqual({
|
|
38
|
-
...request,
|
|
39
|
-
metadata: { startTime: expect.any(Number) },
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
test("should call log when ENABLE_NETWORK_LOGS is true", () => {
|
|
43
|
-
const spy = jest.spyOn(logs, "log");
|
|
44
|
-
setEnv("ENABLE_NETWORK_LOGS", true);
|
|
45
|
-
const request = {
|
|
46
|
-
baseURL: "baseURL",
|
|
47
|
-
url: "url",
|
|
48
|
-
data: "data",
|
|
49
|
-
headers: new AxiosHeaders(),
|
|
50
|
-
};
|
|
51
|
-
requestInterceptor(request);
|
|
52
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
describe("responseInterceptor", () => {
|
|
56
|
-
test("should return provided response when ENABLE_NETWORK_LOGS is false", () => {
|
|
57
|
-
const response = {
|
|
58
|
-
config: {
|
|
59
|
-
baseURL: "baseURL",
|
|
60
|
-
url: "url",
|
|
61
|
-
data: "data",
|
|
62
|
-
headers: new AxiosHeaders(),
|
|
63
|
-
},
|
|
64
|
-
data: "data",
|
|
65
|
-
status: 200,
|
|
66
|
-
statusText: "OK",
|
|
67
|
-
headers: new AxiosHeaders(),
|
|
68
|
-
};
|
|
69
|
-
const res = responseInterceptor(response);
|
|
70
|
-
expect(res).toEqual(response);
|
|
71
|
-
});
|
|
72
|
-
test("should return provided response when ENABLE_NETWORK_LOGS is true", () => {
|
|
73
|
-
setEnv("ENABLE_NETWORK_LOGS", true);
|
|
74
|
-
const response = {
|
|
75
|
-
config: {
|
|
76
|
-
baseURL: "baseURL",
|
|
77
|
-
url: "url",
|
|
78
|
-
data: "data",
|
|
79
|
-
headers: new AxiosHeaders(),
|
|
80
|
-
},
|
|
81
|
-
headers: new AxiosHeaders(),
|
|
82
|
-
data: "data",
|
|
83
|
-
status: 200,
|
|
84
|
-
statusText: "OK",
|
|
85
|
-
};
|
|
86
|
-
const res = responseInterceptor(response);
|
|
87
|
-
expect(res).toEqual(response);
|
|
88
|
-
});
|
|
89
|
-
test("should call log when ENABLE_NETWORK_LOGS is true", () => {
|
|
90
|
-
const spy = jest.spyOn(logs, "log");
|
|
91
|
-
setEnv("ENABLE_NETWORK_LOGS", true);
|
|
92
|
-
const response = {
|
|
93
|
-
config: {
|
|
94
|
-
baseURL: "baseURL",
|
|
95
|
-
url: "url",
|
|
96
|
-
data: "data",
|
|
97
|
-
headers: new AxiosHeaders(),
|
|
98
|
-
},
|
|
99
|
-
headers: new AxiosHeaders(),
|
|
100
|
-
data: "data",
|
|
101
|
-
status: 200,
|
|
102
|
-
statusText: "OK",
|
|
103
|
-
};
|
|
104
|
-
responseInterceptor(response);
|
|
105
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
106
|
-
});
|
|
107
|
-
test("should retry request when unsuccessful and response status is not 422", async () => {
|
|
108
|
-
const response = {
|
|
109
|
-
config: {
|
|
110
|
-
baseURL: "baseURL",
|
|
111
|
-
url: "url",
|
|
112
|
-
data: "data",
|
|
113
|
-
headers: new AxiosHeaders(),
|
|
114
|
-
},
|
|
115
|
-
data: "data",
|
|
116
|
-
status: 500,
|
|
117
|
-
statusText: "Error",
|
|
118
|
-
headers: new AxiosHeaders(),
|
|
119
|
-
};
|
|
120
|
-
try {
|
|
121
|
-
mockedAxios.mockImplementation(() => Promise.reject(response));
|
|
122
|
-
await network({
|
|
123
|
-
method: "GET",
|
|
124
|
-
url: "https://google.com",
|
|
125
|
-
});
|
|
126
|
-
// eslint-disable-next-line no-empty
|
|
127
|
-
}
|
|
128
|
-
catch { }
|
|
129
|
-
expect(mockedAxios).toHaveBeenCalledTimes(DEFAULT_GET_CALLS_RETRY + 1);
|
|
130
|
-
});
|
|
131
|
-
test("should not retry request when response status is 422", async () => {
|
|
132
|
-
const response = {
|
|
133
|
-
config: {
|
|
134
|
-
baseURL: "baseURL",
|
|
135
|
-
url: "url",
|
|
136
|
-
data: "data",
|
|
137
|
-
},
|
|
138
|
-
data: "data",
|
|
139
|
-
status: 422,
|
|
140
|
-
statusText: "Error",
|
|
141
|
-
headers: {},
|
|
142
|
-
};
|
|
143
|
-
mockedAxios.mockImplementation(() => Promise.reject(response));
|
|
144
|
-
try {
|
|
145
|
-
await network({
|
|
146
|
-
method: "GET",
|
|
147
|
-
url: "https://google.com",
|
|
148
|
-
});
|
|
149
|
-
// eslint-disable-next-line no-empty
|
|
150
|
-
}
|
|
151
|
-
catch { }
|
|
152
|
-
expect(mockedAxios).toHaveBeenCalledTimes(1);
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
//# sourceMappingURL=network.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.test.js","sourceRoot":"","sources":["../src/network.test.ts"],"names":[],"mappings":"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"}
|