@wireapp/api-client 26.10.11 → 26.10.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.
|
@@ -42,6 +42,13 @@ export declare class ClientAPI {
|
|
|
42
42
|
getClient(clientId: string): Promise<RegisteredClient>;
|
|
43
43
|
getClients(): Promise<RegisteredClient[]>;
|
|
44
44
|
getClientPreKeys(clientId: string): Promise<number[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Will replace all keypackages on backend by the keypackages provided
|
|
47
|
+
* @see https://staging-nginz-https.zinfra.io/v5/api/swagger-ui/#/default/put_mls_key_packages_self__client_
|
|
48
|
+
* @param {string} clientId The client to upload the key packages for
|
|
49
|
+
* @param {string[]} keyPackages The key packages to upload
|
|
50
|
+
*/
|
|
51
|
+
replaceMLSKeyPackages(clientId: string, keyPackages: string[]): Promise<void>;
|
|
45
52
|
/**
|
|
46
53
|
* Will upload keypackages for an MLS capable client
|
|
47
54
|
* @see https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_mls_key_packages_self__client_
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientAPI.d.ts","sourceRoot":"","sources":["../../src/client/ClientAPI.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AACtF,OAAO,EAAkC,UAAU,EAAC,MAAM,UAAU,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL,CAAC;AAEF,oBAAY,yBAAyB;IACnC,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,gBAAuB,GAAG;;;;;;;;;MASxB;IAEW,UAAU,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWrE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUnF;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUtD,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUzC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlE;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAUzE;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;IAgB5E;;;;;;;OAOG;IACU,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;IAe9B;;;;;OAKG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1F;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAUtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;;CAmBpE"}
|
|
1
|
+
{"version":3,"file":"ClientAPI.d.ts","sourceRoot":"","sources":["../../src/client/ClientAPI.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AACtF,OAAO,EAAkC,UAAU,EAAC,MAAM,UAAU,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL,CAAC;AAEF,oBAAY,yBAAyB;IACnC,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,gBAAuB,GAAG;;;;;;;;;MASxB;IAEW,UAAU,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWrE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUnF;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUtD,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUzC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlE;;;;;OAKG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAS1E;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAUzE;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;IAgB5E;;;;;;;OAOG;IACU,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;IAe9B;;;;;OAKG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1F;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAUtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;;CAmBpE"}
|
package/lib/client/ClientAPI.js
CHANGED
|
@@ -104,6 +104,20 @@ class ClientAPI {
|
|
|
104
104
|
const response = await this.client.sendJSON(config, true);
|
|
105
105
|
return response.data;
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Will replace all keypackages on backend by the keypackages provided
|
|
109
|
+
* @see https://staging-nginz-https.zinfra.io/v5/api/swagger-ui/#/default/put_mls_key_packages_self__client_
|
|
110
|
+
* @param {string} clientId The client to upload the key packages for
|
|
111
|
+
* @param {string[]} keyPackages The key packages to upload
|
|
112
|
+
*/
|
|
113
|
+
async replaceMLSKeyPackages(clientId, keyPackages) {
|
|
114
|
+
const config = {
|
|
115
|
+
data: { key_packages: keyPackages },
|
|
116
|
+
method: 'PUT',
|
|
117
|
+
url: `/${ClientAPI.URL.MLS_CLIENTS}/${ClientAPI.URL.MLS_KEY_PACKAGES}/self/${clientId}`,
|
|
118
|
+
};
|
|
119
|
+
await this.client.sendJSON(config, true);
|
|
120
|
+
}
|
|
107
121
|
/**
|
|
108
122
|
* Will upload keypackages for an MLS capable client
|
|
109
123
|
* @see https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_mls_key_packages_self__client_
|
|
@@ -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.13",
|
|
70
|
+
"gitHead": "53d5a4482db7c4987c64ca994e4704ca66f7ea96"
|
|
72
71
|
}
|