gs2 1.4.127 → 1.4.128
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/core/index.d.ts +2 -2
- package/core/index.js +2 -1
- package/core/index.js.map +1 -1
- package/core/model.d.ts +20 -1
- package/core/model.js +182 -42
- package/core/model.js.map +1 -1
- package/package.json +1 -1
package/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AbstractGs2Client from './AbstractGs2RestClient';
|
|
2
|
-
import { Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure } from './model';
|
|
2
|
+
import { Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, ConnectionBrokenError } from './model';
|
|
3
3
|
import AcquireActionResult from "./AcquireActionResult";
|
|
4
4
|
import ConsumeActionResult from "./ConsumeActionResult";
|
|
5
5
|
import VerifyActionResult from "./VerifyActionResult";
|
|
6
6
|
import TransactionResult from "./TransactionResult";
|
|
7
|
-
export { AbstractGs2Client, Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, AcquireActionResult, ConsumeActionResult, VerifyActionResult, TransactionResult, };
|
|
7
|
+
export { AbstractGs2Client, Gs2RestSession, Gs2RestSessionOptions, Gs2WebSocketSession, Gs2WebSocketSessionOptions, BasicGs2Credential, ProjectTokenGs2Credential, Region, STEADY_CONNECT_TIMEOUT_MS, isConnectFailure, ConnectionBrokenError, AcquireActionResult, ConsumeActionResult, VerifyActionResult, TransactionResult, };
|
package/core/index.js
CHANGED
|
@@ -15,7 +15,7 @@ express or implied. See the License for the specific language governing
|
|
|
15
15
|
permissions and limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.TransactionResult = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.isConnectFailure = exports.STEADY_CONNECT_TIMEOUT_MS = exports.Region = exports.ProjectTokenGs2Credential = exports.BasicGs2Credential = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.AbstractGs2Client = void 0;
|
|
18
|
+
exports.TransactionResult = exports.VerifyActionResult = exports.ConsumeActionResult = exports.AcquireActionResult = exports.ConnectionBrokenError = exports.isConnectFailure = exports.STEADY_CONNECT_TIMEOUT_MS = exports.Region = exports.ProjectTokenGs2Credential = exports.BasicGs2Credential = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.AbstractGs2Client = void 0;
|
|
19
19
|
var tslib_1 = require("tslib");
|
|
20
20
|
var AbstractGs2RestClient_1 = tslib_1.__importDefault(require("./AbstractGs2RestClient"));
|
|
21
21
|
exports.AbstractGs2Client = AbstractGs2RestClient_1.default;
|
|
@@ -27,6 +27,7 @@ Object.defineProperty(exports, "ProjectTokenGs2Credential", { enumerable: true,
|
|
|
27
27
|
Object.defineProperty(exports, "Region", { enumerable: true, get: function () { return model_1.Region; } });
|
|
28
28
|
Object.defineProperty(exports, "STEADY_CONNECT_TIMEOUT_MS", { enumerable: true, get: function () { return model_1.STEADY_CONNECT_TIMEOUT_MS; } });
|
|
29
29
|
Object.defineProperty(exports, "isConnectFailure", { enumerable: true, get: function () { return model_1.isConnectFailure; } });
|
|
30
|
+
Object.defineProperty(exports, "ConnectionBrokenError", { enumerable: true, get: function () { return model_1.ConnectionBrokenError; } });
|
|
30
31
|
var AcquireActionResult_1 = tslib_1.__importDefault(require("./AcquireActionResult"));
|
|
31
32
|
exports.AcquireActionResult = AcquireActionResult_1.default;
|
|
32
33
|
var ConsumeActionResult_1 = tslib_1.__importDefault(require("./ConsumeActionResult"));
|
package/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,0FAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,0FAAwD;AAmBtD,4BAnBK,+BAAiB,CAmBL;AAlBnB,iCAWiB;AAQf,+FAlBA,sBAAc,OAkBA;AAEd,oGAlBA,2BAAmB,OAkBA;AAEnB,mGAlBA,0BAAkB,OAkBA;AAClB,0GAlBA,iCAAyB,OAkBA;AACzB,uFAlBA,cAAM,OAkBA;AACN,0GAlBA,iCAAyB,OAkBA;AACzB,iGAlBA,wBAAgB,OAkBA;AAChB,sGAlBA,6BAAqB,OAkBA;AAhBvB,sFAAwD;AAiBtD,8BAjBK,6BAAmB,CAiBL;AAhBrB,sFAAwD;AAiBtD,8BAjBK,6BAAmB,CAiBL;AAhBrB,oFAAsD;AAiBpD,6BAjBK,4BAAkB,CAiBL;AAhBpB,kFAAoD;AAiBlD,4BAjBK,2BAAiB,CAiBL"}
|
package/core/model.d.ts
CHANGED
|
@@ -88,6 +88,9 @@ export declare class Gs2RestSession {
|
|
|
88
88
|
connect(): Promise<LoginResult> | undefined;
|
|
89
89
|
disconnect(): void;
|
|
90
90
|
}
|
|
91
|
+
export declare class ConnectionBrokenError extends Error {
|
|
92
|
+
constructor(detail?: string);
|
|
93
|
+
}
|
|
91
94
|
export interface Gs2WebSocketSessionOptions {
|
|
92
95
|
/**
|
|
93
96
|
* Steady(専用フリート)の基点 `https://<host>`。接続先は `wss://<host>/`(基点が `http://` なら
|
|
@@ -107,7 +110,12 @@ export declare class Gs2WebSocketSession {
|
|
|
107
110
|
steadyEndpoint: string;
|
|
108
111
|
/** Steady の handshake タイムアウト(ms) */
|
|
109
112
|
steadyConnectTimeoutMs: number;
|
|
110
|
-
|
|
113
|
+
/**
|
|
114
|
+
* 応答待ちの要求(requestId → Promise の決着口)。
|
|
115
|
+
* ★応答が来たもの・接続が切れたものは必ず取り除く。以前は応答の無い要求が残り続け、
|
|
116
|
+
* 呼び手は「応答も誤りも来ない」まま待っていた(送信の成否も見ていなかった)。
|
|
117
|
+
*/
|
|
118
|
+
private pendingRequests;
|
|
111
119
|
private onOpenHandlers;
|
|
112
120
|
private onErrorHandlers;
|
|
113
121
|
private onCloseHandlers;
|
|
@@ -126,6 +134,16 @@ export declare class Gs2WebSocketSession {
|
|
|
126
134
|
/** ログイン(identifier)の REST 接続先。steady があれば `<steady>/identifier`、無ければ従来 */
|
|
127
135
|
endpointHost(service: string): string;
|
|
128
136
|
connect(): Promise<any>;
|
|
137
|
+
/** requestId の要求を待ち行列から外して返す(無ければ null) */
|
|
138
|
+
private takePending;
|
|
139
|
+
/** 待ち中の要求すべてを ConnectionBrokenError で決着させ、待ち行列を空にする */
|
|
140
|
+
private failPending;
|
|
141
|
+
/**
|
|
142
|
+
* 切れた接続を捨て、待ち中の要求すべてを ConnectionBrokenError で決着させる。
|
|
143
|
+
* ★既に別の接続へ差し替わっていたら(disconnect → connect の後の古い接続)何もしない。
|
|
144
|
+
* ★同じ接続に二度呼ばれても 2 回目は待ち行列が空なので無害(close と error の両方から来る)。
|
|
145
|
+
*/
|
|
146
|
+
private dropConnection;
|
|
129
147
|
send(service: string, component: string, func: string, payload: any): Promise<any>;
|
|
130
148
|
onOpen(func: (ev: Event) => any): void;
|
|
131
149
|
onError(func: (ev: Event) => any): void;
|
|
@@ -135,6 +153,7 @@ export declare class Gs2WebSocketSession {
|
|
|
135
153
|
issuer: string;
|
|
136
154
|
payload: any;
|
|
137
155
|
}) => any): void;
|
|
156
|
+
/** 接続を閉じる。★待ち中の要求には ConnectionBrokenError が返る(close を待たずに決着させる) */
|
|
138
157
|
disconnect(): Promise<any>;
|
|
139
158
|
}
|
|
140
159
|
declare class LoginResult {
|
package/core/model.js
CHANGED
|
@@ -16,7 +16,7 @@ permissions and limitations under the License.
|
|
|
16
16
|
*/
|
|
17
17
|
var _a;
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.Region = exports.Gs2Constant = exports.ProjectTokenGs2Credential = exports.ProjectToken = exports.Gs2WebSocketSession = exports.Gs2RestSession = exports.steadyAgents = exports.isConnectFailure = exports.steadyRestUrl = exports.isSteadyUrl = exports.steadyWebSocketUrl = exports.steadyRestTemplate = exports.normalizeSteadyEndpoint = exports.STEADY_CONNECT_TIMEOUT_CODE = exports.STEADY_CONNECT_TIMEOUT_MS = exports.BasicGs2Credential = void 0;
|
|
19
|
+
exports.Region = exports.Gs2Constant = exports.ProjectTokenGs2Credential = exports.ProjectToken = exports.Gs2WebSocketSession = exports.ConnectionBrokenError = exports.Gs2RestSession = exports.steadyAgents = exports.isConnectFailure = exports.steadyRestUrl = exports.isSteadyUrl = exports.steadyWebSocketUrl = exports.steadyRestTemplate = exports.normalizeSteadyEndpoint = exports.STEADY_CONNECT_TIMEOUT_CODE = exports.STEADY_CONNECT_TIMEOUT_MS = exports.BasicGs2Credential = void 0;
|
|
20
20
|
var tslib_1 = require("tslib");
|
|
21
21
|
var axios_1 = tslib_1.__importDefault(require("axios"));
|
|
22
22
|
var async_wait_until_1 = tslib_1.__importDefault(require("async-wait-until"));
|
|
@@ -318,11 +318,65 @@ var Gs2RestSession = /** @class */ (function () {
|
|
|
318
318
|
return Gs2RestSession;
|
|
319
319
|
}());
|
|
320
320
|
exports.Gs2RestSession = Gs2RestSession;
|
|
321
|
+
// ---------------------------------------------------------------- WebSocket が切れたときの誤り
|
|
322
|
+
//
|
|
323
|
+
// ★サーバーは応答を返す前に接続を閉じることがある
|
|
324
|
+
// (gateway の setUserId を force=true で呼ぶと呼び手自身の接続が切られる/ノードの停止/
|
|
325
|
+
// ネットワーク断)。そのとき待ち中の要求を決着させないと、呼び手は永久に await したままになる。
|
|
326
|
+
// 切れたら待ち中の要求すべてをこの誤りで落とし、繋ぎ直すまで以後の send も即座にこの誤りで落とす。
|
|
327
|
+
var ConnectionBrokenError = /** @class */ (function (_super) {
|
|
328
|
+
tslib_1.__extends(ConnectionBrokenError, _super);
|
|
329
|
+
function ConnectionBrokenError(detail) {
|
|
330
|
+
var _this = _super.call(this, detail == null ? 'connection broken' : 'connection broken (' + detail + ')') || this;
|
|
331
|
+
_this.name = 'ConnectionBrokenError';
|
|
332
|
+
// ★target: es5 では Error を継承すると prototype が失われ instanceof が偽になるので繋ぎ直す。
|
|
333
|
+
Object.setPrototypeOf(_this, ConnectionBrokenError.prototype);
|
|
334
|
+
return _this;
|
|
335
|
+
}
|
|
336
|
+
return ConnectionBrokenError;
|
|
337
|
+
}(Error));
|
|
338
|
+
exports.ConnectionBrokenError = ConnectionBrokenError;
|
|
339
|
+
/** readyState(Node の `ws` もブラウザの WebSocket も同じ値) */
|
|
340
|
+
var WS_OPEN = 1;
|
|
341
|
+
var WS_CLOSED = 3;
|
|
342
|
+
/** 閉じる挨拶を送る(既に閉じている接続でも安全。例外は握る) */
|
|
343
|
+
function closeQuietly(client) {
|
|
344
|
+
try {
|
|
345
|
+
if (client != null && client.readyState !== WS_CLOSED) {
|
|
346
|
+
client.close();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (e) {
|
|
350
|
+
// 既に閉じている / 閉じ途中 ―― 何もしない。
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* 接続を叩き落とす(★相手がもう居ない接続に close() を送ると、`ws` は閉じる挨拶の返事を
|
|
355
|
+
* 30 秒待つタイマーを置くので、socket もタイマーも残さないようにこちらを使う)。
|
|
356
|
+
* terminate を持たないブラウザの WebSocket では close() に落とす。
|
|
357
|
+
*/
|
|
358
|
+
function terminateQuietly(client) {
|
|
359
|
+
try {
|
|
360
|
+
if (client != null && typeof client.terminate === 'function') {
|
|
361
|
+
client.terminate();
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
catch (e) {
|
|
366
|
+
// 何もしない。
|
|
367
|
+
}
|
|
368
|
+
closeQuietly(client);
|
|
369
|
+
}
|
|
321
370
|
var Gs2WebSocketSession = /** @class */ (function () {
|
|
322
371
|
function Gs2WebSocketSession(credential, region, options) {
|
|
323
372
|
var _a;
|
|
324
373
|
this.client = null;
|
|
325
|
-
|
|
374
|
+
/**
|
|
375
|
+
* 応答待ちの要求(requestId → Promise の決着口)。
|
|
376
|
+
* ★応答が来たもの・接続が切れたものは必ず取り除く。以前は応答の無い要求が残り続け、
|
|
377
|
+
* 呼び手は「応答も誤りも来ない」まま待っていた(送信の成否も見ていなかった)。
|
|
378
|
+
*/
|
|
379
|
+
this.pendingRequests = {};
|
|
326
380
|
this.onOpenHandlers = [];
|
|
327
381
|
this.onErrorHandlers = [];
|
|
328
382
|
this.onCloseHandlers = [];
|
|
@@ -362,11 +416,17 @@ var Gs2WebSocketSession = /** @class */ (function () {
|
|
|
362
416
|
};
|
|
363
417
|
Gs2WebSocketSession.prototype.connect = function () {
|
|
364
418
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
365
|
-
var url, data, response, result, wsUrl;
|
|
419
|
+
var url, data, response, result, wsUrl, client;
|
|
366
420
|
var _this = this;
|
|
367
421
|
return tslib_1.__generator(this, function (_a) {
|
|
368
422
|
switch (_a.label) {
|
|
369
423
|
case 0:
|
|
424
|
+
// ★繋ぎ直す前に古い接続を片付ける(そこに残した要求が決着しないまま忘れられないように)。
|
|
425
|
+
// ログインより前に済ませる ―― dropConnection は projectToken も捨てるので、
|
|
426
|
+
// この後で取り直したトークンを消させない。
|
|
427
|
+
if (this.client != null) {
|
|
428
|
+
this.dropConnection(this.client, 'reconnect');
|
|
429
|
+
}
|
|
370
430
|
url = this.endpointHost('identifier') + '/projectToken/login';
|
|
371
431
|
if (!(this.credential instanceof BasicGs2Credential)) return [3 /*break*/, 2];
|
|
372
432
|
data = {
|
|
@@ -388,62 +448,113 @@ var Gs2WebSocketSession = /** @class */ (function () {
|
|
|
388
448
|
case 3:
|
|
389
449
|
wsUrl = this.webSocketUrl();
|
|
390
450
|
if (typeof window === 'undefined') {
|
|
391
|
-
|
|
451
|
+
client = new NodeWebSocket(wsUrl, this.webSocketOptions());
|
|
392
452
|
}
|
|
393
453
|
else {
|
|
394
|
-
|
|
454
|
+
client = new WebSocket(wsUrl);
|
|
395
455
|
}
|
|
396
|
-
this.client
|
|
456
|
+
this.client = client;
|
|
457
|
+
client.onopen = function (event) {
|
|
397
458
|
for (var i = 0; i < _this.onOpenHandlers.length; i++) {
|
|
398
459
|
_this.onOpenHandlers[i]();
|
|
399
460
|
}
|
|
400
461
|
};
|
|
401
|
-
|
|
462
|
+
client.onmessage = function (message) {
|
|
402
463
|
var payload = JSON.parse(message.data);
|
|
403
464
|
if (payload.type == 'notification') {
|
|
404
465
|
for (var i = 0; i < _this.onNotificationHandlers.length; i++) {
|
|
405
466
|
_this.onNotificationHandlers[i](payload.body);
|
|
406
467
|
}
|
|
468
|
+
return;
|
|
407
469
|
}
|
|
408
|
-
|
|
409
|
-
|
|
470
|
+
var pending = _this.takePending(payload.requestId);
|
|
471
|
+
// ★待ち行列に無い requestId(既に決着した要求への応答など)は捨てる。
|
|
472
|
+
if (pending != null) {
|
|
473
|
+
pending.resolve(payload);
|
|
410
474
|
}
|
|
411
475
|
};
|
|
412
|
-
|
|
476
|
+
client.onerror = function (error) {
|
|
477
|
+
// ★close が来ないまま error だけ来ることがある(TCP が黙って切れた・handshake が失敗した)。
|
|
478
|
+
// ここでも待ち中の要求を決着させる(dropConnection は同じ接続に何度呼んでも無害)。
|
|
479
|
+
_this.dropConnection(client, 'error');
|
|
413
480
|
for (var i = 0; i < _this.onErrorHandlers.length; i++) {
|
|
414
481
|
_this.onErrorHandlers[i](error);
|
|
415
482
|
}
|
|
416
483
|
};
|
|
417
|
-
|
|
484
|
+
client.onclose = function () {
|
|
485
|
+
// ★応答を返す前にサーバーが閉じても、待ち中の要求は必ず ConnectionBrokenError で決着させる。
|
|
486
|
+
_this.dropConnection(client, 'closed by peer');
|
|
418
487
|
for (var i = 0; i < _this.onCloseHandlers.length; i++) {
|
|
419
488
|
_this.onCloseHandlers[i]();
|
|
420
489
|
}
|
|
421
490
|
};
|
|
422
|
-
|
|
423
|
-
return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client
|
|
491
|
+
// 開くか閉じるまで待つ(this.client が差し替わった・捨てられた場合も抜ける)。
|
|
492
|
+
return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client !== client || client.readyState == WS_CLOSED || client.readyState == WS_OPEN; })];
|
|
424
493
|
case 4:
|
|
494
|
+
// 開くか閉じるまで待つ(this.client が差し替わった・捨てられた場合も抜ける)。
|
|
425
495
|
_a.sent();
|
|
426
|
-
return [
|
|
427
|
-
case 5: return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == WebSocket.CLOSED || _this.client.readyState == WebSocket.OPEN; })];
|
|
428
|
-
case 6:
|
|
429
|
-
_a.sent();
|
|
430
|
-
_a.label = 7;
|
|
431
|
-
case 7: return [2 /*return*/];
|
|
496
|
+
return [2 /*return*/];
|
|
432
497
|
}
|
|
433
498
|
});
|
|
434
499
|
});
|
|
435
500
|
};
|
|
501
|
+
/** requestId の要求を待ち行列から外して返す(無ければ null) */
|
|
502
|
+
Gs2WebSocketSession.prototype.takePending = function (requestId) {
|
|
503
|
+
if (requestId == null) {
|
|
504
|
+
return null;
|
|
505
|
+
}
|
|
506
|
+
var pending = this.pendingRequests[requestId];
|
|
507
|
+
if (pending == null) {
|
|
508
|
+
return null;
|
|
509
|
+
}
|
|
510
|
+
delete this.pendingRequests[requestId];
|
|
511
|
+
return pending;
|
|
512
|
+
};
|
|
513
|
+
/** 待ち中の要求すべてを ConnectionBrokenError で決着させ、待ち行列を空にする */
|
|
514
|
+
Gs2WebSocketSession.prototype.failPending = function (detail) {
|
|
515
|
+
var pendingRequests = this.pendingRequests;
|
|
516
|
+
this.pendingRequests = {};
|
|
517
|
+
var error = new ConnectionBrokenError(detail);
|
|
518
|
+
// ★先に待ち行列を空にしてから落とす(reject の先で send が呼ばれても混ざらない)。
|
|
519
|
+
Object.keys(pendingRequests).forEach(function (requestId) {
|
|
520
|
+
pendingRequests[requestId].reject(error);
|
|
521
|
+
});
|
|
522
|
+
};
|
|
523
|
+
/**
|
|
524
|
+
* 切れた接続を捨て、待ち中の要求すべてを ConnectionBrokenError で決着させる。
|
|
525
|
+
* ★既に別の接続へ差し替わっていたら(disconnect → connect の後の古い接続)何もしない。
|
|
526
|
+
* ★同じ接続に二度呼ばれても 2 回目は待ち行列が空なので無害(close と error の両方から来る)。
|
|
527
|
+
*/
|
|
528
|
+
Gs2WebSocketSession.prototype.dropConnection = function (client, detail) {
|
|
529
|
+
if (this.client !== client) {
|
|
530
|
+
terminateQuietly(client);
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
this.client = null;
|
|
534
|
+
this.projectToken = null;
|
|
535
|
+
this.expiresAt = null;
|
|
536
|
+
this.failPending(detail);
|
|
537
|
+
// ★相手はもう居ないので閉じる挨拶はしない(socket もタイマーも残さない)。
|
|
538
|
+
terminateQuietly(client);
|
|
539
|
+
};
|
|
436
540
|
Gs2WebSocketSession.prototype.send = function (service, component, func, payload) {
|
|
437
|
-
var _a;
|
|
438
541
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
439
|
-
var requestId, result;
|
|
542
|
+
var client, requestId, body, result;
|
|
440
543
|
var _this = this;
|
|
441
|
-
return tslib_1.__generator(this, function (
|
|
442
|
-
switch (
|
|
544
|
+
return tslib_1.__generator(this, function (_a) {
|
|
545
|
+
switch (_a.label) {
|
|
443
546
|
case 0:
|
|
547
|
+
client = this.client;
|
|
548
|
+
// ★接続が無い/閉じかけ・閉じた接続への送信は、待たずにその場で落とす
|
|
549
|
+
// (以前は送ったつもりになって応答を待ち続けていた)。
|
|
550
|
+
if (client == null) {
|
|
551
|
+
throw new ConnectionBrokenError('not connected');
|
|
552
|
+
}
|
|
553
|
+
if (client.readyState !== WS_OPEN) {
|
|
554
|
+
throw new ConnectionBrokenError('readyState=' + client.readyState);
|
|
555
|
+
}
|
|
444
556
|
requestId = (0, uuid_1.v4)();
|
|
445
|
-
|
|
446
|
-
(_a = this.client) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(Object.assign({}, payload, {
|
|
557
|
+
body = JSON.stringify(Object.assign({}, payload, {
|
|
447
558
|
xGs2ClientId: this.credential.clientId,
|
|
448
559
|
xGs2ProjectToken: this.projectToken,
|
|
449
560
|
x_gs2: {
|
|
@@ -453,12 +564,32 @@ var Gs2WebSocketSession = /** @class */ (function () {
|
|
|
453
564
|
contentType: "application/json",
|
|
454
565
|
requestId: requestId,
|
|
455
566
|
},
|
|
456
|
-
}))
|
|
457
|
-
return [4 /*yield*/,
|
|
567
|
+
}));
|
|
568
|
+
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
569
|
+
// ★送信の前に待ち行列へ載せる(応答が先に届いても取り落とさない)。
|
|
570
|
+
_this.pendingRequests[requestId] = { resolve: resolve, reject: reject };
|
|
571
|
+
try {
|
|
572
|
+
// ★Node の `ws` は第 2 引数に書き込みの結果を受ける口を取る(ブラウザの WebSocket は
|
|
573
|
+
// 余分な引数を無視する)。送れなかった要求は届いていないので、その場で落とす。
|
|
574
|
+
client.send(body, function (error) {
|
|
575
|
+
if (error == null) {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
var pending = _this.takePending(requestId);
|
|
579
|
+
if (pending != null) {
|
|
580
|
+
pending.reject(new ConnectionBrokenError(error.message));
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
var pending_1 = _this.takePending(requestId);
|
|
586
|
+
if (pending_1 != null) {
|
|
587
|
+
pending_1.reject(error);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
})];
|
|
458
591
|
case 1:
|
|
459
|
-
|
|
460
|
-
result = this.inflightRequest[requestId];
|
|
461
|
-
delete this.inflightRequest[requestId];
|
|
592
|
+
result = _a.sent();
|
|
462
593
|
if (result.status != 200) {
|
|
463
594
|
throw result.body;
|
|
464
595
|
}
|
|
@@ -479,29 +610,38 @@ var Gs2WebSocketSession = /** @class */ (function () {
|
|
|
479
610
|
Gs2WebSocketSession.prototype.onNotification = function (func) {
|
|
480
611
|
this.onNotificationHandlers.push(func);
|
|
481
612
|
};
|
|
613
|
+
/** 接続を閉じる。★待ち中の要求には ConnectionBrokenError が返る(close を待たずに決着させる) */
|
|
482
614
|
Gs2WebSocketSession.prototype.disconnect = function () {
|
|
483
615
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
484
|
-
var
|
|
616
|
+
var client, e_1;
|
|
485
617
|
return tslib_1.__generator(this, function (_a) {
|
|
486
618
|
switch (_a.label) {
|
|
487
619
|
case 0:
|
|
488
|
-
|
|
489
|
-
this.client
|
|
490
|
-
|
|
491
|
-
|
|
620
|
+
client = this.client;
|
|
621
|
+
this.client = null;
|
|
622
|
+
this.projectToken = null;
|
|
623
|
+
this.expiresAt = null;
|
|
624
|
+
// ★close イベントを待たない(来ないこともある)。
|
|
625
|
+
this.failPending('disconnected');
|
|
626
|
+
if (!(client != null)) return [3 /*break*/, 5];
|
|
627
|
+
closeQuietly(client);
|
|
628
|
+
_a.label = 1;
|
|
492
629
|
case 1:
|
|
630
|
+
_a.trys.push([1, 3, , 4]);
|
|
631
|
+
return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return client.readyState == WS_CLOSED; }, { timeout: 1000 })];
|
|
632
|
+
case 2:
|
|
493
633
|
_a.sent();
|
|
494
634
|
return [3 /*break*/, 4];
|
|
495
|
-
case 2: return [4 /*yield*/, (0, async_wait_until_1.default)(function () { return _this.client == null || _this.client.readyState == WebSocket.CLOSED; })];
|
|
496
635
|
case 3:
|
|
497
|
-
_a.sent();
|
|
498
|
-
|
|
636
|
+
e_1 = _a.sent();
|
|
637
|
+
return [3 /*break*/, 4];
|
|
499
638
|
case 4:
|
|
500
|
-
|
|
639
|
+
if (client.readyState !== WS_CLOSED) {
|
|
640
|
+
// ★閉じ切らないまま抜けると socket とタイマーが残るので叩き落とす。
|
|
641
|
+
terminateQuietly(client);
|
|
642
|
+
}
|
|
501
643
|
_a.label = 5;
|
|
502
|
-
case 5:
|
|
503
|
-
this.projectToken = null;
|
|
504
|
-
return [2 /*return*/];
|
|
644
|
+
case 5: return [2 /*return*/];
|
|
505
645
|
}
|
|
506
646
|
});
|
|
507
647
|
});
|
package/core/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"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"}
|