@izumi-framework/izumi-runtime-typescript 1.0.10-build.4875 → 1.0.10
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/dispatcher.js +11 -16
- package/dispatcher.js.map +1 -1
- package/either.js +50 -57
- package/either.js.map +1 -1
- package/formatter.js +49 -57
- package/formatter.js.map +1 -1
- package/index.js +9 -21
- package/index.js.map +1 -1
- package/introspector.js +12 -19
- package/introspector.js.map +1 -1
- package/logger/index.js +3 -15
- package/logger/index.js.map +1 -1
- package/logger/logger.console.js +26 -43
- package/logger/logger.console.js.map +1 -1
- package/logger/logger.dummy.js +3 -14
- package/logger/logger.dummy.js.map +1 -1
- package/logger/logger.js +2 -5
- package/logger/logger.js.map +1 -1
- package/marshaller.js +10 -16
- package/marshaller.js.map +1 -1
- package/package.json +1 -1
- package/transport/auth/auth.apikey.js +10 -30
- package/transport/auth/auth.apikey.js.map +1 -1
- package/transport/auth/auth.basic.js +14 -36
- package/transport/auth/auth.basic.js.map +1 -1
- package/transport/auth/auth.custom.js +10 -30
- package/transport/auth/auth.custom.js.map +1 -1
- package/transport/auth/auth.js +17 -23
- package/transport/auth/auth.js.map +1 -1
- package/transport/auth/auth.method.js +2 -9
- package/transport/auth/auth.method.js.map +1 -1
- package/transport/auth/auth.token.js +10 -30
- package/transport/auth/auth.token.js.map +1 -1
- package/transport/auth/index.js +6 -18
- package/transport/auth/index.js.map +1 -1
- package/transport/client/index.js +3 -15
- package/transport/client/index.js.map +1 -1
- package/transport/client/transport.http.client.js +57 -68
- package/transport/client/transport.http.client.js.map +1 -1
- package/transport/client/transport.hybrid.client.js +53 -89
- package/transport/client/transport.hybrid.client.js.map +1 -1
- package/transport/client/transport.websocket.client.js +104 -124
- package/transport/client/transport.websocket.client.js.map +1 -1
- package/transport/index.js +6 -18
- package/transport/index.js.map +1 -1
- package/transport/server/index.js +5 -17
- package/transport/server/index.js.map +1 -1
- package/transport/server/transport.context.js +5 -11
- package/transport/server/transport.context.js.map +1 -1
- package/transport/server/transport.context.system.js +5 -10
- package/transport/server/transport.context.system.js.map +1 -1
- package/transport/server/transport.server.http.js +52 -86
- package/transport/server/transport.server.http.js.map +1 -1
- package/transport/server/transport.server.js +1 -2
- package/transport/server/transport.server.websocket.js +24 -33
- package/transport/server/transport.server.websocket.js.map +1 -1
- package/transport/transport.js +1 -2
- package/transport/transport.websocket.js +2 -5
- package/transport/transport.websocket.js.map +1 -1
- package/transport/wsclient.js +66 -98
- package/transport/wsclient.js.map +1 -1
- package/void.js +3 -10
- package/void.js.map +1 -1
|
@@ -1,70 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.HttpServer = exports.HttpServerGeneric = void 0;
|
|
17
|
-
var http = require("http");
|
|
18
|
-
var dispatcher_1 = require("../../dispatcher");
|
|
19
|
-
var logger_1 = require("../../logger");
|
|
20
|
-
var transport_context_1 = require("./transport.context");
|
|
21
|
-
var transport_context_system_1 = require("./transport.context.system");
|
|
22
|
-
var HttpServerGeneric = (function () {
|
|
23
|
-
function HttpServerGeneric(endpoint, port, services, logger, open, dispatcher, handlers) {
|
|
24
|
-
var _this = this;
|
|
25
|
-
if (open === void 0) { open = true; }
|
|
26
|
-
if (dispatcher === void 0) { dispatcher = undefined; }
|
|
27
|
-
if (handlers === void 0) { handlers = undefined; }
|
|
1
|
+
import * as http from 'http';
|
|
2
|
+
import { Dispatcher } from '../../dispatcher';
|
|
3
|
+
import { LogLevel } from '../../logger';
|
|
4
|
+
import { ConnectionContext } from './transport.context';
|
|
5
|
+
import { SystemContext } from './transport.context.system';
|
|
6
|
+
export class HttpServerGeneric {
|
|
7
|
+
constructor(endpoint, port, services, logger, open = true, dispatcher = undefined, handlers = undefined) {
|
|
28
8
|
this._port = port;
|
|
29
9
|
this._endpoint = endpoint;
|
|
30
10
|
if (!dispatcher) {
|
|
31
|
-
this._dispatcher = new
|
|
11
|
+
this._dispatcher = new Dispatcher();
|
|
32
12
|
}
|
|
33
13
|
else {
|
|
34
14
|
this._dispatcher = dispatcher;
|
|
35
15
|
}
|
|
36
|
-
services.forEach(
|
|
37
|
-
|
|
16
|
+
services.forEach(s => {
|
|
17
|
+
this._dispatcher.register(s);
|
|
38
18
|
});
|
|
39
19
|
this.requestHandler = this.requestHandler.bind(this);
|
|
40
20
|
this._logger = logger;
|
|
41
21
|
this._handlers = handlers;
|
|
42
22
|
this._server = http.createServer(this.requestHandler);
|
|
43
23
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
enumerable: false,
|
|
49
|
-
configurable: true
|
|
50
|
-
});
|
|
51
|
-
HttpServerGeneric.prototype.open = function () {
|
|
52
|
-
var _this = this;
|
|
24
|
+
get server() {
|
|
25
|
+
return this._server;
|
|
26
|
+
}
|
|
27
|
+
open() {
|
|
53
28
|
if (this._open) {
|
|
54
29
|
return;
|
|
55
30
|
}
|
|
56
31
|
this._server
|
|
57
|
-
.listen(this._port,
|
|
58
|
-
|
|
32
|
+
.listen(this._port, () => {
|
|
33
|
+
this._logger.logf(LogLevel.Info, 'Server is listening on port ' + this._port);
|
|
59
34
|
})
|
|
60
|
-
.on('error',
|
|
61
|
-
|
|
35
|
+
.on('error', (err) => {
|
|
36
|
+
this._logger.logf(LogLevel.Error, 'Failed to start server ' + err);
|
|
62
37
|
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
var respHeaders = {};
|
|
38
|
+
}
|
|
39
|
+
requestHandler(request, response) {
|
|
40
|
+
const { method, url, headers } = request;
|
|
41
|
+
let respHeaders = {};
|
|
68
42
|
respHeaders['Access-Control-Allow-Origin'] = '*';
|
|
69
43
|
if (method === 'OPTIONS') {
|
|
70
44
|
respHeaders['Access-Control-Allow-Methods'] = 'POST, GET, PUT, DELETE, OPTIONS';
|
|
@@ -75,8 +49,8 @@ var HttpServerGeneric = (function () {
|
|
|
75
49
|
return;
|
|
76
50
|
}
|
|
77
51
|
respHeaders['Content-Type'] = 'application/json';
|
|
78
|
-
|
|
79
|
-
context.system = new
|
|
52
|
+
const context = new ConnectionContext();
|
|
53
|
+
context.system = new SystemContext();
|
|
80
54
|
if (this._handlers && this._handlers.onConnect) {
|
|
81
55
|
if (!this._handlers.onConnect(context, request)) {
|
|
82
56
|
response.writeHead(403);
|
|
@@ -92,74 +66,66 @@ var HttpServerGeneric = (function () {
|
|
|
92
66
|
}
|
|
93
67
|
}
|
|
94
68
|
}
|
|
95
|
-
|
|
69
|
+
const endpointPos = url.indexOf(this._endpoint);
|
|
96
70
|
if (endpointPos < 0) {
|
|
97
|
-
|
|
98
|
-
this._logger.logf(
|
|
71
|
+
const msg = 'Invalid endpoint hit: ' + url + '. Expected to use ' + this._endpoint;
|
|
72
|
+
this._logger.logf(LogLevel.Error, msg);
|
|
99
73
|
response.statusCode = 500;
|
|
100
74
|
response.write(msg);
|
|
101
75
|
response.end();
|
|
102
76
|
return;
|
|
103
77
|
}
|
|
104
|
-
|
|
105
|
-
|
|
78
|
+
const urlEnd = url.substr(endpointPos + this._endpoint.length);
|
|
79
|
+
const pieces = urlEnd.split('/');
|
|
106
80
|
if (pieces.length != 3) {
|
|
107
|
-
|
|
108
|
-
this._logger.logf(
|
|
81
|
+
const msg = 'Invalid endpoint format. Expected to be /serviceName/serviceMethod, got ' + urlEnd;
|
|
82
|
+
this._logger.logf(LogLevel.Error, msg);
|
|
109
83
|
response.statusCode = 500;
|
|
110
84
|
response.write(msg);
|
|
111
85
|
response.end();
|
|
112
86
|
return;
|
|
113
87
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this._logger.logf(
|
|
117
|
-
|
|
88
|
+
const rpcService = pieces[1];
|
|
89
|
+
const rpcMethod = pieces[2];
|
|
90
|
+
this._logger.logf(LogLevel.Trace, 'Incoming request:\n', url, method);
|
|
91
|
+
let body = [];
|
|
118
92
|
request
|
|
119
|
-
.on('error',
|
|
120
|
-
|
|
93
|
+
.on('error', (err) => {
|
|
94
|
+
this._logger.logf(LogLevel.Error, 'Error while serving request: ', err);
|
|
121
95
|
})
|
|
122
|
-
.on('data',
|
|
96
|
+
.on('data', (chunk) => {
|
|
123
97
|
body.push(chunk);
|
|
124
98
|
})
|
|
125
|
-
.on('end',
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
response.on('error',
|
|
129
|
-
|
|
99
|
+
.on('end', () => {
|
|
100
|
+
const data = method === 'POST' ? Buffer.concat(body).toString() : null;
|
|
101
|
+
this._logger.logf(LogLevel.Trace, data);
|
|
102
|
+
response.on('error', (err) => {
|
|
103
|
+
this._logger.logf(LogLevel.Error, 'Error while serving response: ', err);
|
|
130
104
|
});
|
|
131
105
|
try {
|
|
132
|
-
|
|
133
|
-
.then(
|
|
134
|
-
|
|
106
|
+
this._dispatcher.dispatch(null, rpcService, rpcMethod, data)
|
|
107
|
+
.then((res) => {
|
|
108
|
+
this._logger.logf(LogLevel.Trace, 'Outgoing response:\n', res);
|
|
135
109
|
response.writeHead(200, respHeaders);
|
|
136
110
|
response.write(res);
|
|
137
111
|
response.end();
|
|
138
112
|
})
|
|
139
|
-
.catch(
|
|
140
|
-
|
|
113
|
+
.catch((err) => {
|
|
114
|
+
this._logger.logf(LogLevel.Trace, 'Outgoing response:\n', 500, err);
|
|
141
115
|
response.statusCode = 500;
|
|
142
116
|
response.write(err);
|
|
143
117
|
response.end();
|
|
144
118
|
});
|
|
145
119
|
}
|
|
146
120
|
catch (err) {
|
|
147
|
-
|
|
121
|
+
this._logger.logf(LogLevel.Warning, 'Dispatching failed:\n', err);
|
|
148
122
|
response.statusCode = 500;
|
|
149
123
|
response.write(err);
|
|
150
124
|
response.end();
|
|
151
125
|
}
|
|
152
126
|
});
|
|
153
|
-
};
|
|
154
|
-
return HttpServerGeneric;
|
|
155
|
-
}());
|
|
156
|
-
exports.HttpServerGeneric = HttpServerGeneric;
|
|
157
|
-
var HttpServer = (function (_super) {
|
|
158
|
-
__extends(HttpServer, _super);
|
|
159
|
-
function HttpServer() {
|
|
160
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
161
127
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
128
|
+
}
|
|
129
|
+
export class HttpServer extends HttpServerGeneric {
|
|
130
|
+
}
|
|
165
131
|
//# sourceMappingURL=transport.server.http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.server.http.js","sourceRoot":"","sources":["../../../irt/transport/server/transport.server.http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport.server.http.js","sourceRoot":"","sources":["../../../irt/transport/server/transport.server.http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var logger_1 = require("../../logger");
|
|
7
|
-
var WebSocketServerGeneric = (function () {
|
|
8
|
-
function WebSocketServerGeneric(server, services, logger, open, dispatcher, handlers) {
|
|
9
|
-
var _this = this;
|
|
10
|
-
if (open === void 0) { open = true; }
|
|
11
|
-
if (dispatcher === void 0) { dispatcher = undefined; }
|
|
12
|
-
if (handlers === void 0) { handlers = undefined; }
|
|
1
|
+
import { server as wsServer } from 'websocket';
|
|
2
|
+
import { Dispatcher } from '../../dispatcher';
|
|
3
|
+
import { LogLevel } from '../../logger';
|
|
4
|
+
export class WebSocketServerGeneric {
|
|
5
|
+
constructor(server, services, logger, open = true, dispatcher = undefined, handlers = undefined) {
|
|
13
6
|
this._logger = logger;
|
|
14
7
|
if (!dispatcher) {
|
|
15
|
-
this._dispatcher = new
|
|
8
|
+
this._dispatcher = new Dispatcher();
|
|
16
9
|
}
|
|
17
10
|
else {
|
|
18
11
|
this._dispatcher = dispatcher;
|
|
19
12
|
}
|
|
20
|
-
services.forEach(
|
|
21
|
-
|
|
13
|
+
services.forEach(s => {
|
|
14
|
+
this._dispatcher.register(s);
|
|
22
15
|
});
|
|
23
16
|
this._handlers = handlers;
|
|
24
17
|
this._connections = [];
|
|
25
|
-
this._server = new
|
|
18
|
+
this._server = new wsServer({
|
|
26
19
|
httpServer: server
|
|
27
20
|
});
|
|
28
|
-
this._server.on('request',
|
|
29
|
-
|
|
21
|
+
this._server.on('request', (request) => {
|
|
22
|
+
this._logger.logf(LogLevel.Trace, 'Incoming connection from ' + request.origin);
|
|
30
23
|
var connection = request.accept(null, request.origin);
|
|
31
|
-
if (
|
|
32
|
-
if (!
|
|
24
|
+
if (this._handlers) {
|
|
25
|
+
if (!this._handlers.onConnect(null, null)) {
|
|
33
26
|
connection.close();
|
|
34
27
|
return;
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
|
-
|
|
38
|
-
connection.on('message',
|
|
30
|
+
this._connections.push(connection);
|
|
31
|
+
connection.on('message', (message) => {
|
|
39
32
|
if (message.type !== 'utf8' || !message.utf8Data) {
|
|
40
|
-
|
|
33
|
+
this._logger.logf(LogLevel.Warning, 'Non textual format is not supported. ', message);
|
|
41
34
|
return;
|
|
42
35
|
}
|
|
43
|
-
|
|
36
|
+
const data = message.utf8Data;
|
|
44
37
|
throw new Error('Not implemented!');
|
|
45
38
|
});
|
|
46
|
-
connection.on('error',
|
|
47
|
-
|
|
39
|
+
connection.on('error', (err) => {
|
|
40
|
+
this._logger.logf(LogLevel.Error, 'Error received: ', err);
|
|
48
41
|
});
|
|
49
|
-
connection.on('close',
|
|
50
|
-
if (
|
|
51
|
-
|
|
42
|
+
connection.on('close', (code, desc) => {
|
|
43
|
+
if (this._handlers) {
|
|
44
|
+
this._handlers.onDisconnect(null);
|
|
52
45
|
}
|
|
53
|
-
|
|
46
|
+
this._connections = this._connections.filter(c => c !== connection);
|
|
54
47
|
});
|
|
55
48
|
});
|
|
56
49
|
}
|
|
57
|
-
|
|
58
|
-
}());
|
|
59
|
-
exports.WebSocketServerGeneric = WebSocketServerGeneric;
|
|
50
|
+
}
|
|
60
51
|
//# sourceMappingURL=transport.server.websocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.server.websocket.js","sourceRoot":"","sources":["../../../irt/transport/server/transport.server.websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport.server.websocket.js","sourceRoot":"","sources":["../../../irt/transport/server/transport.server.websocket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAA6D,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAqB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAU,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,OAAO,sBAAsB;IAO/B,YAAY,MAAmB,EAAE,QAAmC,EAAE,MAAc,EAAE,OAAgB,IAAI,EAC9F,aAA+B,SAAS,EAAE,WAAiC,SAAS;QAC5F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAQ,CAAC;SAC7C;aAAM;YACH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;SACjC;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,QAAQ,CAAC;YAIxB,UAAU,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAChF,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBACvC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO;iBACV;aACJ;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE;gBAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,uCAAuC,EAAE,OAAO,CAAC,CAAC;oBACtF,OAAO;iBACV;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACrC;gBAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/transport/transport.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebSocketMessageKind = void 0;
|
|
4
|
-
var WebSocketMessageKind;
|
|
1
|
+
export var WebSocketMessageKind;
|
|
5
2
|
(function (WebSocketMessageKind) {
|
|
6
3
|
WebSocketMessageKind["Failure"] = "?:failure";
|
|
7
4
|
WebSocketMessageKind["RpcRequest"] = "rpc:request";
|
|
@@ -12,5 +9,5 @@ var WebSocketMessageKind;
|
|
|
12
9
|
WebSocketMessageKind["BuzzerFailure"] = "buzzer:failure";
|
|
13
10
|
WebSocketMessageKind["StreamS2C"] = "stream:s2c";
|
|
14
11
|
WebSocketMessageKind["StreamC2S"] = "stream:c2s";
|
|
15
|
-
})(WebSocketMessageKind
|
|
12
|
+
})(WebSocketMessageKind || (WebSocketMessageKind = {}));
|
|
16
13
|
//# sourceMappingURL=transport.websocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.websocket.js","sourceRoot":"","sources":["../../irt/transport/transport.websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport.websocket.js","sourceRoot":"","sources":["../../irt/transport/transport.websocket.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,oBAUX;AAVD,WAAY,oBAAoB;IAC5B,6CAAqB,CAAA;IACrB,kDAA0B,CAAA;IAC1B,oDAA4B,CAAA;IAC5B,kDAA0B,CAAA;IAC1B,wDAAgC,CAAA;IAChC,0DAAkC,CAAA;IAClC,wDAAgC,CAAA;IAChC,gDAAwB,CAAA;IACxB,gDAAwB,CAAA;AAC5B,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,QAU/B"}
|
package/transport/wsclient.js
CHANGED
|
@@ -1,66 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.WSClient = exports.WSClientState = void 0;
|
|
15
|
-
var WSClientState;
|
|
1
|
+
export var WSClientState;
|
|
16
2
|
(function (WSClientState) {
|
|
17
3
|
WSClientState[WSClientState["Connecting"] = 0] = "Connecting";
|
|
18
4
|
WSClientState[WSClientState["Connected"] = 1] = "Connected";
|
|
19
5
|
WSClientState[WSClientState["Disconnecting"] = 2] = "Disconnecting";
|
|
20
6
|
WSClientState[WSClientState["Disconnected"] = 3] = "Disconnected";
|
|
21
|
-
})(WSClientState
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (settings === void 0) { settings = WSClient.defaultSettings; }
|
|
7
|
+
})(WSClientState || (WSClientState = {}));
|
|
8
|
+
const CLOSE_NORMAL = 1000;
|
|
9
|
+
export class WSClient {
|
|
10
|
+
constructor(settings = WSClient.defaultSettings) {
|
|
26
11
|
this._state = WSClientState.Disconnected;
|
|
27
|
-
this._settings =
|
|
12
|
+
this._settings = {
|
|
13
|
+
...WSClient.defaultSettings,
|
|
14
|
+
...settings,
|
|
15
|
+
};
|
|
28
16
|
this._url = undefined;
|
|
29
17
|
this._protocols = [];
|
|
30
18
|
this._attempts = 0;
|
|
31
19
|
this._forceClose = false;
|
|
32
20
|
this._state = WSClientState.Disconnected;
|
|
33
21
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(WSClient.prototype, "protocols", {
|
|
49
|
-
get: function () {
|
|
50
|
-
return this._protocols;
|
|
51
|
-
},
|
|
52
|
-
enumerable: false,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(WSClient.prototype, "reconnectAttemps", {
|
|
56
|
-
get: function () {
|
|
57
|
-
return this._attempts;
|
|
58
|
-
},
|
|
59
|
-
enumerable: false,
|
|
60
|
-
configurable: true
|
|
61
|
-
});
|
|
62
|
-
WSClient.prototype.tryOpen = function () {
|
|
63
|
-
var _this = this;
|
|
22
|
+
get state() {
|
|
23
|
+
return this._state;
|
|
24
|
+
}
|
|
25
|
+
get url() {
|
|
26
|
+
return this._url;
|
|
27
|
+
}
|
|
28
|
+
get protocols() {
|
|
29
|
+
return this._protocols;
|
|
30
|
+
}
|
|
31
|
+
get reconnectAttemps() {
|
|
32
|
+
return this._attempts;
|
|
33
|
+
}
|
|
34
|
+
tryOpen() {
|
|
64
35
|
if (this._settings.maxReconnectAttempts && this._attempts >= this._settings.maxReconnectAttempts) {
|
|
65
36
|
this._state = WSClientState.Disconnected;
|
|
66
37
|
if (this.onDisconnect) {
|
|
@@ -68,84 +39,81 @@ var WSClient = (function () {
|
|
|
68
39
|
}
|
|
69
40
|
return;
|
|
70
41
|
}
|
|
71
|
-
|
|
42
|
+
const ws = new WebSocket(this._url, this._protocols);
|
|
72
43
|
this._ws = ws;
|
|
73
|
-
|
|
74
|
-
|
|
44
|
+
let timedOut = false;
|
|
45
|
+
const timeout = setTimeout(() => {
|
|
75
46
|
timedOut = true;
|
|
76
|
-
|
|
47
|
+
this._ws.close();
|
|
77
48
|
timedOut = false;
|
|
78
49
|
}, this._settings.connectTimeout);
|
|
79
|
-
ws.onopen =
|
|
50
|
+
ws.onopen = (event) => {
|
|
80
51
|
clearTimeout(timeout);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if (
|
|
84
|
-
|
|
52
|
+
this._state = WSClientState.Connected;
|
|
53
|
+
this._attempts = 0;
|
|
54
|
+
if (this.onConnect) {
|
|
55
|
+
this.onConnect();
|
|
85
56
|
}
|
|
86
57
|
};
|
|
87
|
-
ws.onclose =
|
|
58
|
+
ws.onclose = (event) => {
|
|
88
59
|
clearTimeout(timeout);
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
if (
|
|
93
|
-
|
|
60
|
+
this._ws = undefined;
|
|
61
|
+
if (this._forceClose) {
|
|
62
|
+
this._state = WSClientState.Disconnected;
|
|
63
|
+
if (this.onDisconnect) {
|
|
64
|
+
this.onDisconnect(event.code);
|
|
94
65
|
}
|
|
95
66
|
return;
|
|
96
67
|
}
|
|
97
|
-
|
|
98
|
-
if (
|
|
99
|
-
|
|
68
|
+
this._state = WSClientState.Connecting;
|
|
69
|
+
if (this.onConnecting) {
|
|
70
|
+
this.onConnecting(event.code);
|
|
100
71
|
}
|
|
101
|
-
|
|
102
|
-
setTimeout(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}, reconnectTimeout >
|
|
72
|
+
const reconnectTimeout = this._settings.reconnectInterval * Math.pow(this._settings.reconnectDecay, this._attempts);
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
this._attempts++;
|
|
75
|
+
this.tryOpen();
|
|
76
|
+
}, reconnectTimeout > this._settings.maxReconnectInterval ? this._settings.maxReconnectInterval : reconnectTimeout);
|
|
106
77
|
};
|
|
107
|
-
ws.onerror =
|
|
108
|
-
if (
|
|
109
|
-
|
|
78
|
+
ws.onerror = (event) => {
|
|
79
|
+
if (this.onError) {
|
|
80
|
+
this.onError(event);
|
|
110
81
|
}
|
|
111
82
|
};
|
|
112
|
-
ws.onmessage =
|
|
113
|
-
if (
|
|
114
|
-
|
|
83
|
+
ws.onmessage = (event) => {
|
|
84
|
+
if (this.onMessage) {
|
|
85
|
+
this.onMessage(event.data);
|
|
115
86
|
}
|
|
116
87
|
};
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
if (protocols === void 0) { protocols = []; }
|
|
88
|
+
}
|
|
89
|
+
open(url, protocols = []) {
|
|
120
90
|
this.close();
|
|
121
91
|
this._forceClose = false;
|
|
122
92
|
this._attempts = 0;
|
|
123
93
|
this._url = url;
|
|
124
94
|
this._protocols = protocols;
|
|
125
95
|
this.tryOpen();
|
|
126
|
-
}
|
|
127
|
-
|
|
96
|
+
}
|
|
97
|
+
close() {
|
|
128
98
|
if (!this._ws) {
|
|
129
99
|
return;
|
|
130
100
|
}
|
|
131
101
|
this._state = WSClientState.Disconnecting;
|
|
132
102
|
this._forceClose = true;
|
|
133
103
|
this._ws.close(CLOSE_NORMAL);
|
|
134
|
-
}
|
|
135
|
-
|
|
104
|
+
}
|
|
105
|
+
send(data) {
|
|
136
106
|
if (!this._ws || this._state !== WSClientState.Connected) {
|
|
137
107
|
throw new Error('WebSocket is not yet available.');
|
|
138
108
|
}
|
|
139
109
|
this._ws.send(data);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}());
|
|
150
|
-
exports.WSClient = WSClient;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
WSClient.defaultSettings = {
|
|
113
|
+
reconnectInterval: 1000,
|
|
114
|
+
maxReconnectInterval: 15000,
|
|
115
|
+
reconnectDecay: 1.5,
|
|
116
|
+
connectTimeout: 2000,
|
|
117
|
+
maxReconnectAttempts: undefined,
|
|
118
|
+
};
|
|
151
119
|
//# sourceMappingURL=wsclient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsclient.js","sourceRoot":"","sources":["../../irt/transport/wsclient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wsclient.js","sourceRoot":"","sources":["../../irt/transport/wsclient.ts"],"names":[],"mappings":"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"}
|
package/void.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var Void = (function () {
|
|
5
|
-
function Void() {
|
|
6
|
-
}
|
|
7
|
-
Void.instance = new Void();
|
|
8
|
-
return Void;
|
|
9
|
-
}());
|
|
10
|
-
exports.Void = Void;
|
|
1
|
+
export class Void {
|
|
2
|
+
}
|
|
3
|
+
Void.instance = new Void();
|
|
11
4
|
//# sourceMappingURL=void.js.map
|
package/void.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"void.js","sourceRoot":"","sources":["../irt/void.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"void.js","sourceRoot":"","sources":["../irt/void.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,IAAI;;AACU,aAAQ,GAAG,IAAI,IAAI,EAAE,CAAC"}
|