@wireapp/api-client 26.10.11 → 26.10.12
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"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"}
|
package/lib/http/HttpClient.js
CHANGED
|
@@ -45,9 +45,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
45
|
};
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
47
|
exports.HttpClient = void 0;
|
|
48
|
+
const ExponentialBackoff_1 = require("@wireapp/commons/lib/util/ExponentialBackoff");
|
|
49
|
+
const TimeUtil_1 = require("@wireapp/commons/lib/util/TimeUtil");
|
|
48
50
|
const axios_1 = __importStar(require("axios"));
|
|
49
51
|
const axios_retry_1 = __importStar(require("axios-retry"));
|
|
50
|
-
const exponential_backoff_1 = require("exponential-backoff");
|
|
51
52
|
const logdown_1 = __importDefault(require("logdown"));
|
|
52
53
|
const pako_1 = require("pako");
|
|
53
54
|
const events_1 = require("events");
|
|
@@ -115,6 +116,11 @@ class HttpClient extends events_1.EventEmitter {
|
|
|
115
116
|
}
|
|
116
117
|
async _sendRequest(config, tokenAsParam = false, isFirstTry = true) {
|
|
117
118
|
var _a, _b, _c;
|
|
119
|
+
const backoffKey = 'too-many-request-backoff';
|
|
120
|
+
const { backOff, resetBackOff } = (0, ExponentialBackoff_1.exponentialBackoff)(backoffKey, {
|
|
121
|
+
maxDelay: TimeUtil_1.TimeInMillis.SECOND * 2,
|
|
122
|
+
minDelay: 100,
|
|
123
|
+
});
|
|
118
124
|
if (this.accessTokenStore.accessToken) {
|
|
119
125
|
const { token_type, access_token } = this.accessTokenStore.accessToken;
|
|
120
126
|
if (tokenAsParam) {
|
|
@@ -129,14 +135,15 @@ class HttpClient extends events_1.EventEmitter {
|
|
|
129
135
|
// We want to prefix all urls, except the ones with cookies which are attached to unprefixed urls
|
|
130
136
|
url: config.withCredentials ? config.url : `${this.versionPrefix}${config.url}`, maxBodyLength: FILE_SIZE_100_MB, maxContentLength: FILE_SIZE_100_MB }));
|
|
131
137
|
this.updateConnectionState(http_1.ConnectionState.CONNECTED);
|
|
138
|
+
resetBackOff();
|
|
132
139
|
return response;
|
|
133
140
|
}
|
|
134
141
|
catch (error) {
|
|
135
142
|
const isTooManyRequestsError = axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 420;
|
|
136
143
|
if (isTooManyRequestsError) {
|
|
137
|
-
return
|
|
138
|
-
|
|
139
|
-
|
|
144
|
+
return backOff(() => this._sendRequest(config, tokenAsParam, false), () => {
|
|
145
|
+
this.logger.error('Too many requests error retry limit reached', error);
|
|
146
|
+
throw error;
|
|
140
147
|
});
|
|
141
148
|
}
|
|
142
149
|
const retryWithTokenRefresh = async () => {
|
package/package.json
CHANGED
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
"@wireapp/protocol-messaging": "1.44.0",
|
|
19
19
|
"axios": "1.6.7",
|
|
20
20
|
"axios-retry": "4.0.0",
|
|
21
|
-
"exponential-backoff": "3.1.1",
|
|
22
21
|
"http-status-codes": "2.3.0",
|
|
23
22
|
"logdown": "3.3.1",
|
|
24
23
|
"pako": "2.1.0",
|
|
@@ -67,6 +66,6 @@
|
|
|
67
66
|
"watch": "webpack serve --config webpack.browser.js",
|
|
68
67
|
"prepare": "yarn dist"
|
|
69
68
|
},
|
|
70
|
-
"version": "26.10.
|
|
71
|
-
"gitHead": "
|
|
69
|
+
"version": "26.10.12",
|
|
70
|
+
"gitHead": "6e9cc711b1997b28444f95a2c05a66d4437d1e3a"
|
|
72
71
|
}
|