@typetron/framework 0.5.13 → 0.5.15
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASjF,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,OAAO,kCAAwC;IAE/C,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASjF,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,OAAO,kCAAwC;IAE/C,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAoGlB,YAAY;CAS7B"}
|
|
@@ -39,14 +39,17 @@ class WebsocketsProvider extends Provider_1.Provider {
|
|
|
39
39
|
}).ws('/', {
|
|
40
40
|
/* There are many common helper features */
|
|
41
41
|
idleTimeout: 40,
|
|
42
|
-
maxBackpressure: 1024,
|
|
43
|
-
maxPayloadLength: 1024 * 1000 *
|
|
44
|
-
compression:
|
|
42
|
+
maxBackpressure: 1024 * 1000 * 5, // 5 MB tolerance is safer
|
|
43
|
+
// maxPayloadLength: 1024 * 1000 * 20, // 20 MB per message
|
|
44
|
+
// compression: DEDICATED_COMPRESSOR_3KB,
|
|
45
|
+
// compression: DISABLED,
|
|
46
|
+
maxPayloadLength: 64 * 1024 * 1024,
|
|
45
47
|
open: (socket) => {
|
|
46
48
|
const socketWrapper = new Websockets_1.WebSocket(socket, this.app.createChildContainer());
|
|
47
49
|
this.handler.onOpen?.run(socketWrapper.connection.container, {});
|
|
48
50
|
},
|
|
49
|
-
close: async (socket) => {
|
|
51
|
+
close: async (socket, code, message) => {
|
|
52
|
+
console.info('connection closed', code, Buffer.from(message).toString());
|
|
50
53
|
const extendedSocket = socket;
|
|
51
54
|
await this.handler.onClose?.run(extendedSocket.container, {}).catch(error => {
|
|
52
55
|
console.info('socket close error ->', error);
|
|
@@ -54,9 +57,9 @@ class WebsocketsProvider extends Provider_1.Provider {
|
|
|
54
57
|
},
|
|
55
58
|
/* For brevity we skip the other actions (upgrade, open, ping, pong, close) */
|
|
56
59
|
message: async (socket, message, isBinary) => {
|
|
57
|
-
const jsonData = stringDecoder.decode(message);
|
|
58
60
|
let data;
|
|
59
61
|
try {
|
|
62
|
+
const jsonData = stringDecoder.decode(message);
|
|
60
63
|
data = JSON.parse(jsonData);
|
|
61
64
|
}
|
|
62
65
|
catch (_error) {
|
|
@@ -105,6 +108,9 @@ class WebsocketsProvider extends Provider_1.Provider {
|
|
|
105
108
|
console.error(errorMessage);
|
|
106
109
|
socket.send(JSON.stringify(errorMessage), isBinary, true);
|
|
107
110
|
}
|
|
111
|
+
},
|
|
112
|
+
dropped: (ws, message) => {
|
|
113
|
+
console.info('socket dropped', ws.getUserData(), new util_1.TextDecoder().decode(message));
|
|
108
114
|
}
|
|
109
115
|
}).listen(port, (listenSocket) => {
|
|
110
116
|
if (listenSocket) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,8 +54,8 @@ class Handler {
|
|
|
54
54
|
const middleware = container.get(middlewareClass);
|
|
55
55
|
stack = middleware.handle.bind(middleware, request, stack);
|
|
56
56
|
});
|
|
57
|
-
this.router.middleware.websocket?.
|
|
58
|
-
const middleware = container.get(middlewareClass);
|
|
57
|
+
await this.router.middleware.websocket?.forEachAsync(async (middlewareClass) => {
|
|
58
|
+
const middleware = await container.get(middlewareClass);
|
|
59
59
|
stack = middleware.handle.bind(middleware, request, stack);
|
|
60
60
|
});
|
|
61
61
|
return await stack(request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAmD;AACnD,yCAAqD;AACrD,kCAAkC;AAClC,wCAAmD;AAEnD,qDAAiD;AACjD,iEAA6D;AAG7D,MAAa,OAAO;IAEhB,MAAM,CAAQ;IAEd,MAAM,CAAiB;IACvB,OAAO,CAAiB;IAExB,SAAS,CACL,IAAY,EACZ,UAAuB,EACvB,UAAkB,EAClB,kBAA2E,EAAE,EAC7E,aAA8C,EAAE;QAEhD,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC7B,IAAI,EACJ,UAAU,EACV,UAAU,EACV,eAAe,EACf,UAAU,CACb,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,GAAG,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAc,SAAoB,EAAE,OAAgB;QAE5D,SAAS,CAAC,GAAG,CAAC,iBAAW,EAAE,OAAO,CAAC,CAAA;QACnC,SAAS,CAAC,GAAG,CAAC,iBAAO,EAAE,OAAO,CAAC,CAAA;QAE/B,IAAI,KAAK,GAAmB,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,aAAa,CAAC,CAAA;YACzD,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,+BAAc,EAAE,KAAK,CAAC,CAAA;YAEpC,IAAI,UAAU,GAAmB,KAAK,IAAI,EAAE;gBACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9D,IAAI,OAAO,YAAY,eAAQ,EAAE,CAAC;oBAC9B,OAAO,OAAO,CAAA;gBAClB,CAAC;gBAED,OAAO,eAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC,CAAA;YAED,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACvC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;gBACjD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YACxE,CAAC,CAAC,CAAA;YAEF,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE;YACrD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACjD,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../../Router/Websockets/Handler.ts"],"names":[],"mappings":"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"}
|