@rc-ex/ws 1.2.0 → 1.2.2
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/README.md +49 -22
- package/lib/exceptions/ClosedException.js +1 -1
- package/lib/exceptions/ClosedException.js.map +1 -1
- package/lib/exceptions/ClosedException.ts +7 -0
- package/lib/exceptions/ConnectionException.d.ts +1 -1
- package/lib/exceptions/ConnectionException.js.map +1 -1
- package/lib/exceptions/ConnectionException.ts +17 -0
- package/lib/exceptions/TimeoutException.js +1 -1
- package/lib/exceptions/TimeoutException.js.map +1 -1
- package/lib/exceptions/TimeoutException.ts +7 -0
- package/lib/index.d.ts +8 -8
- package/lib/index.js +23 -23
- package/lib/index.js.map +1 -1
- package/lib/index.ts +418 -0
- package/lib/rest.d.ts +2 -2
- package/lib/rest.js +5 -6
- package/lib/rest.js.map +1 -1
- package/lib/rest.ts +71 -0
- package/lib/subscription.d.ts +4 -4
- package/lib/subscription.js +11 -9
- package/lib/subscription.js.map +1 -1
- package/lib/subscription.ts +131 -0
- package/lib/types.d.ts +5 -5
- package/lib/types.js.map +1 -1
- package/lib/types.ts +85 -0
- package/lib/utils.d.ts +2 -2
- package/lib/utils.js +16 -16
- package/lib/utils.js.map +1 -1
- package/lib/utils.ts +82 -0
- package/package.json +6 -6
- package/src/exceptions/ClosedException.d.ts +4 -0
- package/src/exceptions/ClosedException.js +9 -0
- package/src/exceptions/ClosedException.js.map +1 -0
- package/src/exceptions/ClosedException.ts +1 -1
- package/src/exceptions/ConnectionException.d.ts +7 -0
- package/src/exceptions/ConnectionException.js +16 -0
- package/src/exceptions/ConnectionException.js.map +1 -0
- package/src/exceptions/ConnectionException.ts +2 -2
- package/src/exceptions/TimeoutException.d.ts +4 -0
- package/src/exceptions/TimeoutException.js +9 -0
- package/src/exceptions/TimeoutException.js.map +1 -0
- package/src/exceptions/TimeoutException.ts +1 -1
- package/src/index.d.ts +44 -0
- package/src/index.js +329 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +81 -51
- package/src/rest.d.ts +3 -0
- package/src/rest.js +55 -0
- package/src/rest.js.map +1 -0
- package/src/rest.ts +22 -12
- package/src/subscription.d.ts +20 -0
- package/src/subscription.js +91 -0
- package/src/subscription.js.map +1 -0
- package/src/subscription.ts +36 -18
- package/src/types.d.ts +61 -0
- package/src/types.js +3 -0
- package/src/types.js.map +1 -0
- package/src/types.ts +14 -5
- package/src/utils.d.ts +8 -0
- package/src/utils.js +72 -0
- package/src/utils.js.map +1 -0
- package/src/utils.ts +26 -23
- package/tsconfig.json +0 -3
package/README.md
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
WebSocket Extension adds support for WebSocket protocol.
|
|
4
4
|
|
|
5
|
-
Please read this article:
|
|
5
|
+
Please read this article:
|
|
6
|
+
[Create WebSocket subscriptions using RingCentral JavaScript SDKs](https://medium.com/@tylerlong/create-websocket-subscriptions-using-ringcentral-javascript-sdks-1204ce5843b8).
|
|
6
7
|
|
|
7
8
|
## Install
|
|
8
9
|
|
|
@@ -32,7 +33,8 @@ await webSocketExtension.subscribe(
|
|
|
32
33
|
);
|
|
33
34
|
```
|
|
34
35
|
|
|
35
|
-
You can also make Rest API calls over WebSocket if you specified
|
|
36
|
+
You can also make Rest API calls over WebSocket if you specified
|
|
37
|
+
`webSocketOptions.restOverWebSocket` as `true`:
|
|
36
38
|
|
|
37
39
|
```ts
|
|
38
40
|
const webSocketExtension = new WebSocketExtension({
|
|
@@ -46,8 +48,10 @@ console.log(extInfo.id);
|
|
|
46
48
|
|
|
47
49
|
## Known limitations
|
|
48
50
|
|
|
49
|
-
Each `WebSocketExtension` can only have 1 subscription. Trying to invoke
|
|
50
|
-
|
|
51
|
+
Each `WebSocketExtension` can only have 1 subscription. Trying to invoke
|
|
52
|
+
`subscribe` multiple times will **override** the previous subscriptions. If you
|
|
53
|
+
need to create multiple subscriptions, you need to create multiple
|
|
54
|
+
`WebSocketExtension`.
|
|
51
55
|
|
|
52
56
|
## WebSocketOptions
|
|
53
57
|
|
|
@@ -63,17 +67,20 @@ type WebSocketOptions = {
|
|
|
63
67
|
|
|
64
68
|
### restOverWebSocket
|
|
65
69
|
|
|
66
|
-
`restOverWebSocket` indicates whether to make Rest API call over WebSocket
|
|
70
|
+
`restOverWebSocket` indicates whether to make Rest API call over WebSocket
|
|
71
|
+
protocol.
|
|
67
72
|
|
|
68
73
|
Default value is false.
|
|
69
74
|
|
|
70
|
-
Please note that, not all Rest API calls can be done over WebSocket protocol.
|
|
75
|
+
Please note that, not all Rest API calls can be done over WebSocket protocol.
|
|
76
|
+
The following are not supported at the moment:
|
|
71
77
|
|
|
72
78
|
- Binary downloading
|
|
73
79
|
- `form-data/multipart` POST / PUT
|
|
74
80
|
- Authorization, such as get token and revoke token
|
|
75
81
|
|
|
76
|
-
If `restOverWebSocket` is true and an Rest API call cannot be done over
|
|
82
|
+
If `restOverWebSocket` is true and an Rest API call cannot be done over
|
|
83
|
+
WebSocket, it will be done over HTTPS instead.
|
|
77
84
|
|
|
78
85
|
### debugMode
|
|
79
86
|
|
|
@@ -81,15 +88,18 @@ If `restOverWebSocket` is true and an Rest API call cannot be done over WebSocke
|
|
|
81
88
|
|
|
82
89
|
Default value is false.
|
|
83
90
|
|
|
84
|
-
If enabled, WebSocket incoming message and outgoing message will be printed
|
|
91
|
+
If enabled, WebSocket incoming message and outgoing message will be printed
|
|
92
|
+
using `console.debug`.
|
|
85
93
|
|
|
86
94
|
### autoRecover
|
|
87
95
|
|
|
88
|
-
`autoRecover` indicates whether to auto recover when WebSocket connection is
|
|
96
|
+
`autoRecover` indicates whether to auto recover when WebSocket connection is
|
|
97
|
+
lost.
|
|
89
98
|
|
|
90
99
|
Default value is true.
|
|
91
100
|
|
|
92
|
-
If disabled, you need to manually invoke `await webSocketExtension.recover()`
|
|
101
|
+
If disabled, you need to manually invoke `await webSocketExtension.recover()`
|
|
102
|
+
whenever WebSocket connection is lost.
|
|
93
103
|
|
|
94
104
|
## Access WebSocket object
|
|
95
105
|
|
|
@@ -97,8 +107,10 @@ If disabled, you need to manually invoke `await webSocketExtension.recover()` wh
|
|
|
97
107
|
webSocketExtension.ws;
|
|
98
108
|
```
|
|
99
109
|
|
|
100
|
-
gives you the WebSocket object. But if the network is unstable and `autoRecover`
|
|
101
|
-
|
|
110
|
+
gives you the WebSocket object. But if the network is unstable and `autoRecover`
|
|
111
|
+
is enabled, sometimes a new WebSocket connection will be created to replace the
|
|
112
|
+
current one. You can listen for `autoRecoverSuccess` & `autoRecoverFailed`
|
|
113
|
+
events:
|
|
102
114
|
|
|
103
115
|
```ts
|
|
104
116
|
import {Events} from '@rc-ex/ws';
|
|
@@ -131,31 +143,46 @@ webSocketExtension.eventEmitter.on(Events.autoRecoverError, (error) => {
|
|
|
131
143
|
});
|
|
132
144
|
```
|
|
133
145
|
|
|
134
|
-
- Note #1: `autoRecoverError` means cannot connect to WebSocket server at all.
|
|
135
|
-
|
|
146
|
+
- Note #1: `autoRecoverError` means cannot connect to WebSocket server at all.
|
|
147
|
+
There will be more tries. So `autoRecoverError` does NOT mean auto recover
|
|
148
|
+
gives up trying.
|
|
149
|
+
- This is most likely caused by local network issue, or in rare cases remote
|
|
150
|
+
WebSocket server is down.
|
|
136
151
|
- This means a local exception or error.
|
|
137
|
-
- Note #2: `autoRecoverFailed` means connection to WebSocket server has been
|
|
152
|
+
- Note #2: `autoRecoverFailed` means connection to WebSocket server has been
|
|
153
|
+
restored, but existing subscriptions haven't. The SDK automatically created
|
|
154
|
+
new subscriptions for you.
|
|
138
155
|
- Notifications during WebSocket disconnection are all lost.
|
|
139
|
-
- It could mean `recoveryTimeout` and client side gives up recovery but
|
|
140
|
-
|
|
141
|
-
-
|
|
142
|
-
|
|
156
|
+
- It could mean `recoveryTimeout` and client side gives up recovery but
|
|
157
|
+
creates brand new connection instead.
|
|
158
|
+
- It could mean a message from WebSocket server with
|
|
159
|
+
`"recoveryState": "Failed"`
|
|
160
|
+
- Note #3: `autoRecoverSuccess` means connection to WebSocket server has been
|
|
161
|
+
restored, and existing subscriptions have been restored too. And server side
|
|
162
|
+
keeps your notification messages in a buffer and it will send you the messages
|
|
163
|
+
soon.
|
|
164
|
+
- There is a `recoveryBufferSize` setting on server side. If there are too
|
|
165
|
+
many messages queued before session recover success, oldest messages will be
|
|
166
|
+
discarded.
|
|
143
167
|
|
|
144
168
|
### Manual recover
|
|
145
169
|
|
|
146
|
-
In case of network outage and the WebSocket connection is lost, you can restore
|
|
170
|
+
In case of network outage and the WebSocket connection is lost, you can restore
|
|
171
|
+
the session by:
|
|
147
172
|
|
|
148
173
|
```ts
|
|
149
174
|
await webSocketExtension.recover();
|
|
150
175
|
```
|
|
151
176
|
|
|
152
|
-
Command above will create a new WebSocket connection and make sure that
|
|
177
|
+
Command above will create a new WebSocket connection and make sure that
|
|
178
|
+
subscriptions are recovered.
|
|
153
179
|
|
|
154
180
|
## How to recover after page refresh?
|
|
155
181
|
|
|
156
182
|
When you refresh page, you lost everything currently in the page's memory.
|
|
157
183
|
|
|
158
|
-
Below is the recommended way to recover. It may not be the best practice, but we
|
|
184
|
+
Below is the recommended way to recover. It may not be the best practice, but we
|
|
185
|
+
have tested it and it does work.
|
|
159
186
|
|
|
160
187
|
Ref: https://github.com/tylerlong/rc-ws-refresh-page-demo/blob/main/src/index.ts
|
|
161
188
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class ClosedException extends Error {
|
|
4
4
|
constructor(message) {
|
|
5
|
-
super(message !== null && message !== void 0 ? message :
|
|
5
|
+
super(message !== null && message !== void 0 ? message : "WebSocket has been closed");
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
exports.default = ClosedException;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClosedException.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ClosedException.js","sourceRoot":"","sources":["ClosedException.ts"],"names":[],"mappings":";;AAAA,MAAM,eAAgB,SAAQ,KAAK;IACjC,YAAmB,OAAgB;QACjC,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,2BAA2B,CAAC,CAAC;IAChD,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionException.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ConnectionException.js","sourceRoot":"","sources":["ConnectionException.ts"],"names":[],"mappings":";;;;;AACA,qDAA6B;AAE7B,MAAM,mBAAoB,SAAQ,KAAK;IAKrC,YAAmB,QAAkB;QACnC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAwB,eAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { WsgError, WsgEvent, WsgMeta } from "../types";
|
|
2
|
+
import Utils from "../utils";
|
|
3
|
+
|
|
4
|
+
class ConnectionException extends Error {
|
|
5
|
+
public wsgEvent: WsgEvent;
|
|
6
|
+
|
|
7
|
+
public wsgError: WsgError;
|
|
8
|
+
|
|
9
|
+
public constructor(wsgEvent: WsgEvent) {
|
|
10
|
+
const [, wsgError]: [WsgMeta, WsgError] = Utils.splitWsgData(wsgEvent.data);
|
|
11
|
+
super(JSON.stringify(wsgError, null, 2));
|
|
12
|
+
this.wsgEvent = wsgEvent;
|
|
13
|
+
this.wsgError = wsgError;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default ConnectionException;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class TimeoutException extends Error {
|
|
4
4
|
constructor(message) {
|
|
5
|
-
super(message !== null && message !== void 0 ? message :
|
|
5
|
+
super(message !== null && message !== void 0 ? message : "Failed to receive expected WebSocket message in time.");
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
exports.default = TimeoutException;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeoutException.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"TimeoutException.js","sourceRoot":"","sources":["TimeoutException.ts"],"names":[],"mappings":";;AAAA,MAAM,gBAAiB,SAAQ,KAAK;IAClC,YAAmB,OAAgB;QACjC,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,uDAAuD,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,kBAAe,gBAAgB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type RingCentral from
|
|
2
|
-
import SdkExtension from
|
|
3
|
-
import WS from
|
|
4
|
-
import { EventEmitter } from
|
|
5
|
-
import type SubscriptionInfo from
|
|
6
|
-
import { request } from
|
|
7
|
-
import type {
|
|
8
|
-
import Subscription from
|
|
1
|
+
import type RingCentral from "@rc-ex/core";
|
|
2
|
+
import SdkExtension from "@rc-ex/core/src/SdkExtension";
|
|
3
|
+
import WS from "isomorphic-ws";
|
|
4
|
+
import { EventEmitter } from "events";
|
|
5
|
+
import type SubscriptionInfo from "@rc-ex/core/src/definitions/SubscriptionInfo";
|
|
6
|
+
import { request } from "./rest";
|
|
7
|
+
import type { ConnectionDetails, WebSocketOptions, Wsc, WsToken } from "./types";
|
|
8
|
+
import Subscription from "./subscription";
|
|
9
9
|
export declare enum Events {
|
|
10
10
|
autoRecoverSuccess = "autoRecoverSuccess",
|
|
11
11
|
autoRecoverFailed = "autoRecoverFailed",
|
package/lib/index.js
CHANGED
|
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Events = void 0;
|
|
7
|
-
const SdkExtension_1 = __importDefault(require("@rc-ex/core/
|
|
7
|
+
const SdkExtension_1 = __importDefault(require("@rc-ex/core/src/SdkExtension"));
|
|
8
8
|
const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
|
|
9
9
|
const hyperid_1 = __importDefault(require("hyperid"));
|
|
10
10
|
const events_1 = require("events");
|
|
11
11
|
const wait_for_async_1 = __importDefault(require("wait-for-async"));
|
|
12
|
-
const RestException_1 = __importDefault(require("@rc-ex/core/
|
|
12
|
+
const RestException_1 = __importDefault(require("@rc-ex/core/src/RestException"));
|
|
13
13
|
const rest_1 = require("./rest");
|
|
14
14
|
const subscription_1 = __importDefault(require("./subscription"));
|
|
15
15
|
const ConnectionException_1 = __importDefault(require("./exceptions/ConnectionException"));
|
|
@@ -63,9 +63,9 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
63
63
|
}
|
|
64
64
|
if (
|
|
65
65
|
// the following cannot be done with WebSocket
|
|
66
|
-
((_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a.getContentType) === null || _b === void 0 ? void 0 : _b.toString()) === null || _c === void 0 ? void 0 : _c.includes(
|
|
67
|
-
(config === null || config === void 0 ? void 0 : config.responseType) ===
|
|
68
|
-
endpoint.startsWith(
|
|
66
|
+
((_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a.getContentType) === null || _b === void 0 ? void 0 : _b.toString()) === null || _c === void 0 ? void 0 : _c.includes("multipart/form-data")) ||
|
|
67
|
+
(config === null || config === void 0 ? void 0 : config.responseType) === "arraybuffer" ||
|
|
68
|
+
endpoint.startsWith("/restapi/oauth/") // token, revoke, wstoken
|
|
69
69
|
) {
|
|
70
70
|
return request(method, endpoint, content, queryParams, config);
|
|
71
71
|
}
|
|
@@ -94,7 +94,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
94
94
|
throw e; // such as InsufficientPermissions
|
|
95
95
|
}
|
|
96
96
|
if (this.options.debugMode) {
|
|
97
|
-
console.debug(
|
|
97
|
+
console.debug("Initial connect failed:", e);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
let retriesAttempted = 0;
|
|
@@ -119,7 +119,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
119
119
|
if (this.options.debugMode) {
|
|
120
120
|
console.debug(`Auto recover done, recoveryState: ${this.connectionDetails.recoveryState}`);
|
|
121
121
|
}
|
|
122
|
-
this.eventEmitter.emit(this.connectionDetails.recoveryState ===
|
|
122
|
+
this.eventEmitter.emit(this.connectionDetails.recoveryState === "Successful"
|
|
123
123
|
? Events.autoRecoverSuccess
|
|
124
124
|
: Events.autoRecoverFailed, this.ws);
|
|
125
125
|
}
|
|
@@ -129,7 +129,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
129
129
|
}
|
|
130
130
|
retriesAttempted += 1;
|
|
131
131
|
if (this.options.debugMode) {
|
|
132
|
-
console.debug(
|
|
132
|
+
console.debug("Auto recover error:", e);
|
|
133
133
|
}
|
|
134
134
|
this.eventEmitter.emit(Events.autoRecoverError, e);
|
|
135
135
|
}
|
|
@@ -139,15 +139,15 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
139
139
|
};
|
|
140
140
|
this.intervalHandle = setInterval(check, this.options.autoRecover.checkInterval(retriesAttempted));
|
|
141
141
|
// browser only code start
|
|
142
|
-
if (typeof window !==
|
|
143
|
-
window.addEventListener(
|
|
142
|
+
if (typeof window !== "undefined" && window.addEventListener) {
|
|
143
|
+
window.addEventListener("offline", () => {
|
|
144
144
|
var _a;
|
|
145
145
|
if (this.pingServerHandle) {
|
|
146
146
|
clearTimeout(this.pingServerHandle);
|
|
147
147
|
}
|
|
148
148
|
(_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
|
|
149
149
|
});
|
|
150
|
-
window.addEventListener(
|
|
150
|
+
window.addEventListener("online", () => {
|
|
151
151
|
check();
|
|
152
152
|
});
|
|
153
153
|
}
|
|
@@ -179,15 +179,16 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
179
179
|
this.recoverTimestamp = Date.now();
|
|
180
180
|
}
|
|
181
181
|
if (this.connectionDetails !== undefined &&
|
|
182
|
-
Date.now() - this.recoverTimestamp >
|
|
182
|
+
Date.now() - this.recoverTimestamp >
|
|
183
|
+
this.connectionDetails.recoveryTimeout * 1000) {
|
|
183
184
|
if (this.options.debugMode) {
|
|
184
|
-
console.debug(
|
|
185
|
+
console.debug("connect to WSG but do not recover");
|
|
185
186
|
}
|
|
186
187
|
await this.connect(false); // connect to WSG but do not recover
|
|
187
188
|
}
|
|
188
189
|
else {
|
|
189
190
|
if (this.options.debugMode) {
|
|
190
|
-
console.debug(
|
|
191
|
+
console.debug("connect to WSG and recover");
|
|
191
192
|
}
|
|
192
193
|
await this.connect(true); // connect to WSG and recover
|
|
193
194
|
}
|
|
@@ -205,11 +206,10 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
205
206
|
try {
|
|
206
207
|
await this.ws.send(JSON.stringify([
|
|
207
208
|
{
|
|
208
|
-
type:
|
|
209
|
+
type: "Heartbeat",
|
|
209
210
|
messageId: uuid(),
|
|
210
211
|
},
|
|
211
212
|
]));
|
|
212
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
213
213
|
}
|
|
214
214
|
catch (e) {
|
|
215
215
|
this.ws.close(); // Explicitly mark WS as closed
|
|
@@ -231,7 +231,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
231
231
|
async _connect(recoverSession = false) {
|
|
232
232
|
var _a;
|
|
233
233
|
if (!this.wsToken || Date.now() > this.wsTokenExpiresAt) {
|
|
234
|
-
const r = await this.rc.post(
|
|
234
|
+
const r = await this.rc.post("/restapi/oauth/wstoken");
|
|
235
235
|
this.wsToken = r.data;
|
|
236
236
|
// `expires_in` default value is 600 seconds. That's why we `* 0.8`
|
|
237
237
|
this.wsTokenExpiresAt = Date.now() + this.wsToken.expires_in * 0.8 * 1000;
|
|
@@ -254,7 +254,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
254
254
|
await send(s);
|
|
255
255
|
};
|
|
256
256
|
if ((_a = this.options.autoRecover) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
257
|
-
this.ws.addEventListener(
|
|
257
|
+
this.ws.addEventListener("message", () => {
|
|
258
258
|
if (this.pingServerHandle) {
|
|
259
259
|
clearTimeout(this.pingServerHandle);
|
|
260
260
|
}
|
|
@@ -266,20 +266,20 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
266
266
|
utils_1.default.debugWebSocket(this.ws);
|
|
267
267
|
}
|
|
268
268
|
// listen for new wsc data
|
|
269
|
-
this.ws.addEventListener(
|
|
269
|
+
this.ws.addEventListener("message", (mEvent) => {
|
|
270
270
|
const event = mEvent;
|
|
271
271
|
const [meta, body] = utils_1.default.splitWsgData(event.data);
|
|
272
272
|
if (meta.wsc &&
|
|
273
273
|
(!this.wsc ||
|
|
274
|
-
(meta.type ===
|
|
274
|
+
(meta.type === "ConnectionDetails" && body.recoveryState) ||
|
|
275
275
|
this.wsc.sequence < meta.wsc.sequence)) {
|
|
276
276
|
this.wsc = meta.wsc;
|
|
277
277
|
this.eventEmitter.emit(Events.newWsc, this.wsc);
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
// get initial ConnectionDetails data
|
|
281
|
-
const [meta, body, event] = await utils_1.default.waitForWebSocketMessage(this.ws, (meta) => meta.type ===
|
|
282
|
-
if (meta.type ===
|
|
281
|
+
const [meta, body, event] = await utils_1.default.waitForWebSocketMessage(this.ws, (meta) => meta.type === "ConnectionDetails" || meta.type === "Error");
|
|
282
|
+
if (meta.type === "Error") {
|
|
283
283
|
throw new ConnectionException_1.default(event);
|
|
284
284
|
}
|
|
285
285
|
this.connectionDetails = body;
|
|
@@ -289,7 +289,7 @@ class WebSocketExtension extends SdkExtension_1.default {
|
|
|
289
289
|
if (this.subscription && this.subscription.enabled) {
|
|
290
290
|
// because we have a new ws object
|
|
291
291
|
this.subscription.setupWsEventListener();
|
|
292
|
-
if (!recoverSession || this.connectionDetails.recoveryState ===
|
|
292
|
+
if (!recoverSession || this.connectionDetails.recoveryState === "Failed") {
|
|
293
293
|
// create new subscription if don't recover existing one
|
|
294
294
|
await this.subscription.subscribe();
|
|
295
295
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|