@rc-ex/ws 0.12.2 → 0.15.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/index.ts +16 -10
- package/lib/index.d.ts +4 -4
- package/lib/index.js +13 -10
- package/lib/index.js.map +1 -1
- package/lib/package.json +9 -8
- package/package.json +9 -8
package/index.ts
CHANGED
|
@@ -9,9 +9,9 @@ import WS, {OPEN, CONNECTING, MessageEvent} from 'isomorphic-ws';
|
|
|
9
9
|
import hyperid from 'hyperid';
|
|
10
10
|
import {EventEmitter} from 'events';
|
|
11
11
|
import waitFor from 'wait-for-async';
|
|
12
|
-
import RateLimitExtension from '@rc-ex/rate-limit';
|
|
13
12
|
import RestException from '@rc-ex/core/lib/RestException';
|
|
14
13
|
import {SubscriptionInfo} from '@rc-ex/core/lib/definitions';
|
|
14
|
+
import debounce from 'lodash/debounce';
|
|
15
15
|
|
|
16
16
|
import {request} from './rest';
|
|
17
17
|
import {
|
|
@@ -46,6 +46,8 @@ class WebSocketExtension extends SdkExtension {
|
|
|
46
46
|
connectionDetails!: ConnectionDetails;
|
|
47
47
|
wsc!: Wsc;
|
|
48
48
|
subscriptions: Subscription[] = [];
|
|
49
|
+
recover: Function;
|
|
50
|
+
connect: Function;
|
|
49
51
|
|
|
50
52
|
// for auto recover
|
|
51
53
|
intervalHandle?: NodeJS.Timeout;
|
|
@@ -54,8 +56,6 @@ class WebSocketExtension extends SdkExtension {
|
|
|
54
56
|
|
|
55
57
|
request = request; // request method was moved to another file to keep this file short
|
|
56
58
|
|
|
57
|
-
rateLimitExtension: RateLimitExtension = new RateLimitExtension(); // to rate limit /restapi/oauth/wstoken
|
|
58
|
-
|
|
59
59
|
constructor(options: WebSocketOptions = {}) {
|
|
60
60
|
super();
|
|
61
61
|
this.options = options;
|
|
@@ -69,6 +69,14 @@ class WebSocketExtension extends SdkExtension {
|
|
|
69
69
|
return Math.min(8000, interval);
|
|
70
70
|
};
|
|
71
71
|
this.options.autoRecover.pingServerInterval ??= 30000;
|
|
72
|
+
this.recover = debounce(this._recover, 1000, {
|
|
73
|
+
leading: true,
|
|
74
|
+
trailing: false,
|
|
75
|
+
});
|
|
76
|
+
this.connect = debounce(this._connect, 1000, {
|
|
77
|
+
leading: true,
|
|
78
|
+
trailing: false,
|
|
79
|
+
});
|
|
72
80
|
}
|
|
73
81
|
|
|
74
82
|
disable() {
|
|
@@ -79,8 +87,6 @@ class WebSocketExtension extends SdkExtension {
|
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
async install(rc: RingCentral) {
|
|
82
|
-
this.rateLimitExtension.disable();
|
|
83
|
-
await rc.installExtension(this.rateLimitExtension);
|
|
84
90
|
this.rc = rc;
|
|
85
91
|
const request = rc.request.bind(rc);
|
|
86
92
|
rc.request = async <T>(
|
|
@@ -95,7 +101,9 @@ class WebSocketExtension extends SdkExtension {
|
|
|
95
101
|
}
|
|
96
102
|
if (
|
|
97
103
|
// the following cannot be done with WebSocket
|
|
98
|
-
config?.headers?.['Content-Type']
|
|
104
|
+
(config?.headers?.['Content-Type'] as string | undefined)?.includes(
|
|
105
|
+
'multipart/form-data'
|
|
106
|
+
) ||
|
|
99
107
|
config?.responseType === 'arraybuffer' ||
|
|
100
108
|
endpoint.startsWith('/restapi/oauth/') // token, revoke, wstoken
|
|
101
109
|
) {
|
|
@@ -184,7 +192,7 @@ class WebSocketExtension extends SdkExtension {
|
|
|
184
192
|
// browser only code end
|
|
185
193
|
}
|
|
186
194
|
|
|
187
|
-
async
|
|
195
|
+
async _recover() {
|
|
188
196
|
if (this.ws?.readyState === OPEN || this.ws?.readyState === CONNECTING) {
|
|
189
197
|
return;
|
|
190
198
|
}
|
|
@@ -234,11 +242,9 @@ class WebSocketExtension extends SdkExtension {
|
|
|
234
242
|
}
|
|
235
243
|
}
|
|
236
244
|
|
|
237
|
-
async
|
|
245
|
+
async _connect(recoverSession = false) {
|
|
238
246
|
if (Date.now() > this.wsTokenExpiresAt) {
|
|
239
|
-
this.rateLimitExtension.enable();
|
|
240
247
|
const r = await this.rc.post('/restapi/oauth/wstoken');
|
|
241
|
-
this.rateLimitExtension.disable();
|
|
242
248
|
this.wsToken = r.data as WsToken;
|
|
243
249
|
this.wsTokenExpiresAt =
|
|
244
250
|
Date.now() + (this.wsToken.expires_in - 10) * 1000;
|
package/lib/index.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import RingCentral from '@rc-ex/core';
|
|
|
4
4
|
import SdkExtension from '@rc-ex/core/lib/SdkExtension';
|
|
5
5
|
import WS from 'isomorphic-ws';
|
|
6
6
|
import { EventEmitter } from 'events';
|
|
7
|
-
import RateLimitExtension from '@rc-ex/rate-limit';
|
|
8
7
|
import { SubscriptionInfo } from '@rc-ex/core/lib/definitions';
|
|
9
8
|
import { request } from './rest';
|
|
10
9
|
import { WsToken, ConnectionDetails, WebSocketOptions, Wsc } from './types';
|
|
@@ -26,17 +25,18 @@ declare class WebSocketExtension extends SdkExtension {
|
|
|
26
25
|
connectionDetails: ConnectionDetails;
|
|
27
26
|
wsc: Wsc;
|
|
28
27
|
subscriptions: Subscription[];
|
|
28
|
+
recover: Function;
|
|
29
|
+
connect: Function;
|
|
29
30
|
intervalHandle?: NodeJS.Timeout;
|
|
30
31
|
recoverTimestamp?: number;
|
|
31
32
|
pingServerHandle?: NodeJS.Timeout;
|
|
32
33
|
request: typeof request;
|
|
33
|
-
rateLimitExtension: RateLimitExtension;
|
|
34
34
|
constructor(options?: WebSocketOptions);
|
|
35
35
|
disable(): void;
|
|
36
36
|
install(rc: RingCentral): Promise<void>;
|
|
37
|
-
|
|
37
|
+
_recover(): Promise<void>;
|
|
38
38
|
pingServer(): Promise<void>;
|
|
39
|
-
|
|
39
|
+
_connect(recoverSession?: boolean): Promise<void>;
|
|
40
40
|
revoke(): Promise<void>;
|
|
41
41
|
subscribe(eventFilters: string[], callback: (event: {}) => void, cache?: SubscriptionInfo | undefined | null): Promise<Subscription>;
|
|
42
42
|
}
|
package/lib/index.js
CHANGED
|
@@ -28,8 +28,8 @@ const isomorphic_ws_1 = __importStar(require("isomorphic-ws"));
|
|
|
28
28
|
const hyperid_1 = __importDefault(require("hyperid"));
|
|
29
29
|
const events_1 = require("events");
|
|
30
30
|
const wait_for_async_1 = __importDefault(require("wait-for-async"));
|
|
31
|
-
const rate_limit_1 = __importDefault(require("@rc-ex/rate-limit"));
|
|
32
31
|
const RestException_1 = __importDefault(require("@rc-ex/core/lib/RestException"));
|
|
32
|
+
const debounce_1 = __importDefault(require("lodash/debounce"));
|
|
33
33
|
const rest_1 = require("./rest");
|
|
34
34
|
const subscription_1 = __importDefault(require("./subscription"));
|
|
35
35
|
const exceptions_1 = require("./exceptions");
|
|
@@ -52,7 +52,6 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
52
52
|
this.wsTokenExpiresAt = 0;
|
|
53
53
|
this.subscriptions = [];
|
|
54
54
|
this.request = rest_1.request; // request method was moved to another file to keep this file short
|
|
55
|
-
this.rateLimitExtension = new rate_limit_1.default(); // to rate limit /restapi/oauth/wstoken
|
|
56
55
|
this.options = options;
|
|
57
56
|
(_a = (_f = this.options).restOverWebSocket) !== null && _a !== void 0 ? _a : (_f.restOverWebSocket = false);
|
|
58
57
|
(_b = (_g = this.options).debugMode) !== null && _b !== void 0 ? _b : (_g.debugMode = false);
|
|
@@ -64,6 +63,14 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
64
63
|
return Math.min(8000, interval);
|
|
65
64
|
});
|
|
66
65
|
(_e = (_k = this.options.autoRecover).pingServerInterval) !== null && _e !== void 0 ? _e : (_k.pingServerInterval = 30000);
|
|
66
|
+
this.recover = (0, debounce_1.default)(this._recover, 1000, {
|
|
67
|
+
leading: true,
|
|
68
|
+
trailing: false,
|
|
69
|
+
});
|
|
70
|
+
this.connect = (0, debounce_1.default)(this._connect, 1000, {
|
|
71
|
+
leading: true,
|
|
72
|
+
trailing: false,
|
|
73
|
+
});
|
|
67
74
|
}
|
|
68
75
|
disable() {
|
|
69
76
|
var _a;
|
|
@@ -73,18 +80,16 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
73
80
|
}
|
|
74
81
|
}
|
|
75
82
|
async install(rc) {
|
|
76
|
-
this.rateLimitExtension.disable();
|
|
77
|
-
await rc.installExtension(this.rateLimitExtension);
|
|
78
83
|
this.rc = rc;
|
|
79
84
|
const request = rc.request.bind(rc);
|
|
80
85
|
rc.request = async (method, endpoint, content, queryParams, config) => {
|
|
81
|
-
var _a;
|
|
86
|
+
var _a, _b;
|
|
82
87
|
if (!this.enabled || !this.options.restOverWebSocket) {
|
|
83
88
|
return request(method, endpoint, content, queryParams, config);
|
|
84
89
|
}
|
|
85
90
|
if (
|
|
86
91
|
// the following cannot be done with WebSocket
|
|
87
|
-
((_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a['Content-Type'].includes('multipart/form-data')) ||
|
|
92
|
+
((_b = (_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a['Content-Type']) === null || _b === void 0 ? void 0 : _b.includes('multipart/form-data')) ||
|
|
88
93
|
(config === null || config === void 0 ? void 0 : config.responseType) === 'arraybuffer' ||
|
|
89
94
|
endpoint.startsWith('/restapi/oauth/') // token, revoke, wstoken
|
|
90
95
|
) {
|
|
@@ -161,7 +166,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
161
166
|
}
|
|
162
167
|
// browser only code end
|
|
163
168
|
}
|
|
164
|
-
async
|
|
169
|
+
async _recover() {
|
|
165
170
|
var _a, _b;
|
|
166
171
|
if (((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === isomorphic_ws_1.OPEN || ((_b = this.ws) === null || _b === void 0 ? void 0 : _b.readyState) === isomorphic_ws_1.CONNECTING) {
|
|
167
172
|
return;
|
|
@@ -210,12 +215,10 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
210
215
|
(_d = this.ws) === null || _d === void 0 ? void 0 : _d.close(); // Explicitly mark WS as closed
|
|
211
216
|
}
|
|
212
217
|
}
|
|
213
|
-
async
|
|
218
|
+
async _connect(recoverSession = false) {
|
|
214
219
|
var _a;
|
|
215
220
|
if (Date.now() > this.wsTokenExpiresAt) {
|
|
216
|
-
this.rateLimitExtension.enable();
|
|
217
221
|
const r = await this.rc.post('/restapi/oauth/wstoken');
|
|
218
|
-
this.rateLimitExtension.disable();
|
|
219
222
|
this.wsToken = r.data;
|
|
220
223
|
this.wsTokenExpiresAt =
|
|
221
224
|
Date.now() + (this.wsToken.expires_in - 10) * 1000;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,gFAAwD;AACxD,+DAAiE;AACjE,sDAA8B;AAC9B,mCAAoC;AACpC,oEAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rc-ex/ws",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "WebSocket extension for ringcentral-extensible project",
|
|
5
5
|
"author": "Tyler Liu <tyler.liu@ringcentral.com>",
|
|
6
6
|
"homepage": "https://github.com/ringcentral/ringcentral-extensible/tree/master/packages/extensions/ws",
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@types/ws": "^8.2.
|
|
23
|
-
"http-status-codes": "^2.
|
|
24
|
-
"hyperid": "^
|
|
21
|
+
"@types/lodash": "^4.14.178",
|
|
22
|
+
"@types/ws": "^8.2.2",
|
|
23
|
+
"http-status-codes": "^2.2.0",
|
|
24
|
+
"hyperid": "^3.0.0",
|
|
25
25
|
"isomorphic-ws": "^4.0.1",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
26
|
+
"lodash": "^4.17.21",
|
|
27
|
+
"wait-for-async": "^0.6.0",
|
|
28
|
+
"ws": "^8.4.2"
|
|
28
29
|
},
|
|
29
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "07ad6800736b1c6883b3d1ff72ff4ec8afd1f1ba"
|
|
30
31
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rc-ex/ws",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "WebSocket extension for ringcentral-extensible project",
|
|
5
5
|
"author": "Tyler Liu <tyler.liu@ringcentral.com>",
|
|
6
6
|
"homepage": "https://github.com/ringcentral/ringcentral-extensible/tree/master/packages/extensions/ws",
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@types/ws": "^8.2.
|
|
23
|
-
"http-status-codes": "^2.
|
|
24
|
-
"hyperid": "^
|
|
21
|
+
"@types/lodash": "^4.14.178",
|
|
22
|
+
"@types/ws": "^8.2.2",
|
|
23
|
+
"http-status-codes": "^2.2.0",
|
|
24
|
+
"hyperid": "^3.0.0",
|
|
25
25
|
"isomorphic-ws": "^4.0.1",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
26
|
+
"lodash": "^4.17.21",
|
|
27
|
+
"wait-for-async": "^0.6.0",
|
|
28
|
+
"ws": "^8.4.2"
|
|
28
29
|
},
|
|
29
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "07ad6800736b1c6883b3d1ff72ff4ec8afd1f1ba"
|
|
30
31
|
}
|