openportal 0.1.1 → 0.1.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.
Files changed (181) hide show
  1. package/package.json +1 -1
  2. package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → XI6khKkj1If5Kb4-eJQ2z}/_buildManifest.js +4 -9
  3. package/web/.next/static/chunks/{2e7bfb90c343ca96.js → 35cc9dbdc670c73c.js} +4 -4
  4. package/web/.next/static/chunks/4147ffc67a7b837c.css +1 -0
  5. package/web/.next/static/chunks/{21ab2574b84ad2d1.js → 52b90bc1740162c2.js} +2 -2
  6. package/web/.next/static/chunks/{9b265e2198b5525f.js → 8644d68bf325ff24.js} +3 -3
  7. package/web/.next/static/chunks/{03e1846335a31354.js → 9865709466b09f79.js} +3 -3
  8. package/web/.next/static/chunks/{c20ae04df8cc28be.js → 9ba9a5774c9421bd.js} +3 -3
  9. package/web/.next/static/chunks/{967a1e0002fe9ae6.js → b5caad256518cb33.js} +3 -3
  10. package/web/.next/static/chunks/{turbopack-27558c851386934e.js → turbopack-26af71e419c11487.js} +1 -1
  11. package/web/.next/static/chunks/{turbopack-f4c0881f9723f5a5.js → turbopack-4ad0df7330c00c8d.js} +1 -1
  12. package/web/.next/static/chunks/{turbopack-26688626142ac58f.js → turbopack-8e653f3ad3a8ed18.js} +1 -1
  13. package/web/.next/static/chunks/{turbopack-c40ec6674624f1d7.js → turbopack-d5098189d63fd7b8.js} +1 -1
  14. package/web/apps/web/.next/BUILD_ID +1 -1
  15. package/web/apps/web/.next/build-manifest.json +14 -24
  16. package/web/apps/web/.next/routes-manifest.json +0 -12
  17. package/web/apps/web/.next/server/chunks/[root-of-the-server]__f366ca98._.js +358 -0
  18. package/web/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__dfeaf8cf._.js → [root-of-the-server]__1a54ba1e._.js} +3 -3
  19. package/web/apps/web/.next/server/middleware-build-manifest.js +12 -22
  20. package/web/apps/web/.next/server/next-font-manifest.js +1 -1
  21. package/web/apps/web/.next/server/next-font-manifest.json +0 -4
  22. package/web/apps/web/.next/server/pages/404.html +1 -1
  23. package/web/apps/web/.next/server/pages/500.html +1 -1
  24. package/web/apps/web/.next/server/pages/_app/build-manifest.json +3 -3
  25. package/web/apps/web/.next/server/pages/_app/client-build-manifest.json +1 -1
  26. package/web/apps/web/.next/server/pages/api/[[...slugs]].js +1 -2
  27. package/web/apps/web/.next/server/pages/api/[[...slugs]].js.nft.json +1 -1
  28. package/web/apps/web/.next/server/pages/index/build-manifest.json +3 -3
  29. package/web/apps/web/.next/server/pages/index/client-build-manifest.json +1 -1
  30. package/web/apps/web/.next/server/pages/index.html +1 -1
  31. package/web/apps/web/.next/server/pages/index.js.nft.json +1 -1
  32. package/web/apps/web/.next/server/pages/session/[id]/build-manifest.json +4 -4
  33. package/web/apps/web/.next/server/pages/session/[id]/client-build-manifest.json +1 -1
  34. package/web/apps/web/.next/server/pages/session/[id].html +1 -1
  35. package/web/apps/web/.next/server/pages/session/[id].js.nft.json +1 -1
  36. package/web/apps/web/.next/server/pages/settings/build-manifest.json +3 -3
  37. package/web/apps/web/.next/server/pages/settings/client-build-manifest.json +1 -1
  38. package/web/apps/web/.next/server/pages/settings.html +1 -1
  39. package/web/apps/web/.next/server/pages/settings.js.nft.json +1 -1
  40. package/web/apps/web/.next/server/pages-manifest.json +0 -2
  41. package/web/apps/web/package.json +1 -9
  42. package/web/.next/static/chunks/04d4692d75696297.css +0 -1
  43. package/web/.next/static/chunks/553710f60e2f2b11.js +0 -1
  44. package/web/.next/static/chunks/58acbbb4090e3362.js +0 -3
  45. package/web/.next/static/chunks/6ce1e2f08f961db5.js +0 -2
  46. package/web/.next/static/chunks/d316d63225992c76.js +0 -10
  47. package/web/.next/static/chunks/e0c97552ba7a9e3d.js +0 -1
  48. package/web/.next/static/chunks/fc9c4f2dabfb4e0e.css +0 -1
  49. package/web/.next/static/chunks/turbopack-1837909a677d116b.js +0 -3
  50. package/web/apps/web/.next/server/chunks/[root-of-the-server]__0f75905d._.js +0 -3
  51. package/web/apps/web/.next/server/chunks/[root-of-the-server]__89e85365._.js +0 -358
  52. package/web/apps/web/.next/server/chunks/[root-of-the-server]__ae1361d0._.js +0 -3
  53. package/web/apps/web/.next/server/pages/api/terminal/ws/pages-manifest.json +0 -3
  54. package/web/apps/web/.next/server/pages/api/terminal/ws.js +0 -5
  55. package/web/apps/web/.next/server/pages/api/terminal/ws.js.map +0 -5
  56. package/web/apps/web/.next/server/pages/api/terminal/ws.js.nft.json +0 -1
  57. package/web/apps/web/.next/server/pages/terminal/build-manifest.json +0 -20
  58. package/web/apps/web/.next/server/pages/terminal/client-build-manifest.json +0 -5
  59. package/web/apps/web/.next/server/pages/terminal/next-font-manifest.json +0 -11
  60. package/web/apps/web/.next/server/pages/terminal/pages-manifest.json +0 -3
  61. package/web/apps/web/.next/server/pages/terminal/react-loadable-manifest.json +0 -1
  62. package/web/apps/web/.next/server/pages/terminal.html +0 -1
  63. package/web/apps/web/.next/server/pages/terminal.js.map +0 -5
  64. package/web/apps/web/.next/server/pages/terminal.js.nft.json +0 -1
  65. package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/cjs/index.js +0 -176
  66. package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/cjs/package.json +0 -4
  67. package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/package.json +0 -28
  68. package/web/node_modules/.bun/accepts@1.3.8/node_modules/accepts/index.js +0 -238
  69. package/web/node_modules/.bun/accepts@1.3.8/node_modules/accepts/package.json +0 -47
  70. package/web/node_modules/.bun/base64id@2.0.0/node_modules/base64id/lib/base64id.js +0 -103
  71. package/web/node_modules/.bun/base64id@2.0.0/node_modules/base64id/package.json +0 -13
  72. package/web/node_modules/.bun/cookie@0.7.2/node_modules/cookie/index.js +0 -335
  73. package/web/node_modules/.bun/cookie@0.7.2/node_modules/cookie/package.json +0 -44
  74. package/web/node_modules/.bun/cookie@1.1.1/node_modules/cookie/package.json +0 -47
  75. package/web/node_modules/.bun/cors@2.8.5/node_modules/cors/lib/index.js +0 -238
  76. package/web/node_modules/.bun/cors@2.8.5/node_modules/cors/package.json +0 -41
  77. package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/package.json +0 -60
  78. package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/browser.js +0 -271
  79. package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/common.js +0 -274
  80. package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/index.js +0 -10
  81. package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/node.js +0 -263
  82. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/commons.js +0 -19
  83. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/decodePacket.js +0 -59
  84. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/encodePacket.js +0 -38
  85. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/index.js +0 -164
  86. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/package.json +0 -8
  87. package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/package.json +0 -46
  88. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/engine.io.js +0 -54
  89. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/parser-v3/index.js +0 -424
  90. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/parser-v3/utf8.js +0 -187
  91. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/server.js +0 -786
  92. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/socket.js +0 -460
  93. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transport.js +0 -117
  94. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/index.js +0 -23
  95. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/polling-jsonp.js +0 -41
  96. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/polling.js +0 -332
  97. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/websocket.js +0 -94
  98. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/webtransport.js +0 -63
  99. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/index.js +0 -8
  100. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/polling.js +0 -364
  101. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/websocket.js +0 -73
  102. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/userver.js +0 -279
  103. package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/package.json +0 -70
  104. package/web/node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js +0 -8
  105. package/web/node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/package.json +0 -46
  106. package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/db.json +0 -8519
  107. package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/index.js +0 -12
  108. package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/package.json +0 -60
  109. package/web/node_modules/.bun/mime-types@2.1.35/node_modules/mime-types/index.js +0 -188
  110. package/web/node_modules/.bun/mime-types@2.1.35/node_modules/mime-types/package.json +0 -44
  111. package/web/node_modules/.bun/ms@2.1.3/node_modules/ms/index.js +0 -162
  112. package/web/node_modules/.bun/ms@2.1.3/node_modules/ms/package.json +0 -38
  113. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/index.js +0 -82
  114. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/charset.js +0 -169
  115. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/encoding.js +0 -184
  116. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/language.js +0 -179
  117. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/mediaType.js +0 -294
  118. package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/package.json +0 -42
  119. package/web/node_modules/.bun/object-assign@4.1.1/node_modules/object-assign/index.js +0 -90
  120. package/web/node_modules/.bun/object-assign@4.1.1/node_modules/object-assign/package.json +0 -42
  121. package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/cluster-adapter.js +0 -674
  122. package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/contrib/yeast.js +0 -55
  123. package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/in-memory-adapter.js +0 -394
  124. package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/index.js +0 -10
  125. package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/package.json +0 -39
  126. package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/binary.js +0 -88
  127. package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/index.js +0 -321
  128. package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/is-binary.js +0 -55
  129. package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/package.json +0 -3
  130. package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/package.json +0 -58
  131. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.esm.min.js +0 -7
  132. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.js +0 -4908
  133. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.min.js +0 -7
  134. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.msgpack.min.js +0 -7
  135. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/broadcast-operator.js +0 -436
  136. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/client.js +0 -268
  137. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/index.js +0 -804
  138. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/namespace.js +0 -581
  139. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/parent-namespace.js +0 -88
  140. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/socket-types.js +0 -11
  141. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/socket.js +0 -977
  142. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/typed-events.js +0 -81
  143. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/uws.js +0 -136
  144. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/package.json +0 -85
  145. package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/wrapper.mjs +0 -3
  146. package/web/node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js +0 -135
  147. package/web/node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/package.json +0 -53
  148. package/web/node_modules/.bun/vary@1.1.2/node_modules/vary/index.js +0 -149
  149. package/web/node_modules/.bun/vary@1.1.2/node_modules/vary/package.json +0 -43
  150. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/index.js +0 -13
  151. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/buffer-util.js +0 -131
  152. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/constants.js +0 -12
  153. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/event-target.js +0 -292
  154. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/extension.js +0 -203
  155. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/limiter.js +0 -55
  156. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/permessage-deflate.js +0 -514
  157. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/receiver.js +0 -704
  158. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/sender.js +0 -497
  159. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/stream.js +0 -159
  160. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/subprotocol.js +0 -62
  161. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/validation.js +0 -130
  162. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/websocket-server.js +0 -540
  163. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/websocket.js +0 -1338
  164. package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/package.json +0 -69
  165. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/buffer-util.js +0 -131
  166. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/constants.js +0 -18
  167. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/event-target.js +0 -292
  168. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/extension.js +0 -203
  169. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/limiter.js +0 -55
  170. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/permessage-deflate.js +0 -528
  171. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/receiver.js +0 -706
  172. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/sender.js +0 -602
  173. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/stream.js +0 -161
  174. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/subprotocol.js +0 -62
  175. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/validation.js +0 -152
  176. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/websocket-server.js +0 -550
  177. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/websocket.js +0 -1388
  178. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/package.json +0 -69
  179. package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/wrapper.mjs +0 -8
  180. /package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → XI6khKkj1If5Kb4-eJQ2z}/_clientMiddlewareManifest.json +0 -0
  181. /package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → XI6khKkj1If5Kb4-eJQ2z}/_ssgManifest.js +0 -0
@@ -1,460 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Socket = void 0;
4
- const events_1 = require("events");
5
- const debug_1 = require("debug");
6
- const timers_1 = require("timers");
7
- const debug = (0, debug_1.default)("engine:socket");
8
- class Socket extends events_1.EventEmitter {
9
- get readyState() {
10
- return this._readyState;
11
- }
12
- set readyState(state) {
13
- debug("readyState updated from %s to %s", this._readyState, state);
14
- this._readyState = state;
15
- }
16
- constructor(id, server, transport, req, protocol) {
17
- super();
18
- /**
19
- * The current state of the socket.
20
- */
21
- this._readyState = "opening";
22
- /* private */ this.upgrading = false;
23
- /* private */ this.upgraded = false;
24
- this.writeBuffer = [];
25
- this.packetsFn = [];
26
- this.sentCallbackFn = [];
27
- this.cleanupFn = [];
28
- this.id = id;
29
- this.server = server;
30
- this.request = req;
31
- this.protocol = protocol;
32
- // Cache IP since it might not be in the req later
33
- if (req) {
34
- if (req.websocket && req.websocket._socket) {
35
- this.remoteAddress = req.websocket._socket.remoteAddress;
36
- }
37
- else {
38
- this.remoteAddress = req.connection.remoteAddress;
39
- }
40
- }
41
- else {
42
- // TODO there is currently no way to get the IP address of the client when it connects with WebTransport
43
- // see https://github.com/fails-components/webtransport/issues/114
44
- }
45
- this.pingTimeoutTimer = null;
46
- this.pingIntervalTimer = null;
47
- this.setTransport(transport);
48
- this.onOpen();
49
- }
50
- /**
51
- * Called upon transport considered open.
52
- *
53
- * @private
54
- */
55
- onOpen() {
56
- this.readyState = "open";
57
- // sends an `open` packet
58
- this.transport.sid = this.id;
59
- this.sendPacket("open", JSON.stringify({
60
- sid: this.id,
61
- upgrades: this.getAvailableUpgrades(),
62
- pingInterval: this.server.opts.pingInterval,
63
- pingTimeout: this.server.opts.pingTimeout,
64
- maxPayload: this.server.opts.maxHttpBufferSize,
65
- }));
66
- if (this.server.opts.initialPacket) {
67
- this.sendPacket("message", this.server.opts.initialPacket);
68
- }
69
- this.emit("open");
70
- if (this.protocol === 3) {
71
- // in protocol v3, the client sends a ping, and the server answers with a pong
72
- this.resetPingTimeout();
73
- }
74
- else {
75
- // in protocol v4, the server sends a ping, and the client answers with a pong
76
- this.schedulePing();
77
- }
78
- }
79
- /**
80
- * Called upon transport packet.
81
- *
82
- * @param {Object} packet
83
- * @private
84
- */
85
- onPacket(packet) {
86
- if ("open" !== this.readyState) {
87
- return debug("packet received with closed socket");
88
- }
89
- // export packet event
90
- debug(`received packet ${packet.type}`);
91
- this.emit("packet", packet);
92
- switch (packet.type) {
93
- case "ping":
94
- if (this.transport.protocol !== 3) {
95
- this.onError(new Error("invalid heartbeat direction"));
96
- return;
97
- }
98
- debug("got ping");
99
- this.pingTimeoutTimer.refresh();
100
- this.sendPacket("pong");
101
- this.emit("heartbeat");
102
- break;
103
- case "pong":
104
- if (this.transport.protocol === 3) {
105
- this.onError(new Error("invalid heartbeat direction"));
106
- return;
107
- }
108
- debug("got pong");
109
- (0, timers_1.clearTimeout)(this.pingTimeoutTimer);
110
- this.pingIntervalTimer.refresh();
111
- this.emit("heartbeat");
112
- break;
113
- case "error":
114
- this.onClose("parse error");
115
- break;
116
- case "message":
117
- this.emit("data", packet.data);
118
- this.emit("message", packet.data);
119
- break;
120
- }
121
- }
122
- /**
123
- * Called upon transport error.
124
- *
125
- * @param {Error} err - error object
126
- * @private
127
- */
128
- onError(err) {
129
- debug("transport error");
130
- this.onClose("transport error", err);
131
- }
132
- /**
133
- * Pings client every `this.pingInterval` and expects response
134
- * within `this.pingTimeout` or closes connection.
135
- *
136
- * @private
137
- */
138
- schedulePing() {
139
- this.pingIntervalTimer = (0, timers_1.setTimeout)(() => {
140
- debug("writing ping packet - expecting pong within %sms", this.server.opts.pingTimeout);
141
- this.sendPacket("ping");
142
- this.resetPingTimeout();
143
- }, this.server.opts.pingInterval);
144
- }
145
- /**
146
- * Resets ping timeout.
147
- *
148
- * @private
149
- */
150
- resetPingTimeout() {
151
- (0, timers_1.clearTimeout)(this.pingTimeoutTimer);
152
- this.pingTimeoutTimer = (0, timers_1.setTimeout)(() => {
153
- if (this.readyState === "closed")
154
- return;
155
- this.onClose("ping timeout");
156
- }, this.protocol === 3
157
- ? this.server.opts.pingInterval + this.server.opts.pingTimeout
158
- : this.server.opts.pingTimeout);
159
- }
160
- /**
161
- * Attaches handlers for the given transport.
162
- *
163
- * @param {Transport} transport
164
- * @private
165
- */
166
- setTransport(transport) {
167
- const onError = this.onError.bind(this);
168
- const onReady = () => this.flush();
169
- const onPacket = this.onPacket.bind(this);
170
- const onDrain = this.onDrain.bind(this);
171
- const onClose = this.onClose.bind(this, "transport close");
172
- this.transport = transport;
173
- this.transport.once("error", onError);
174
- this.transport.on("ready", onReady);
175
- this.transport.on("packet", onPacket);
176
- this.transport.on("drain", onDrain);
177
- this.transport.once("close", onClose);
178
- this.cleanupFn.push(function () {
179
- transport.removeListener("error", onError);
180
- transport.removeListener("ready", onReady);
181
- transport.removeListener("packet", onPacket);
182
- transport.removeListener("drain", onDrain);
183
- transport.removeListener("close", onClose);
184
- });
185
- }
186
- /**
187
- * Upon transport "drain" event
188
- *
189
- * @private
190
- */
191
- onDrain() {
192
- if (this.sentCallbackFn.length > 0) {
193
- debug("executing batch send callback");
194
- const seqFn = this.sentCallbackFn.shift();
195
- if (seqFn) {
196
- for (let i = 0; i < seqFn.length; i++) {
197
- seqFn[i](this.transport);
198
- }
199
- }
200
- }
201
- }
202
- /**
203
- * Upgrades socket to the given transport
204
- *
205
- * @param {Transport} transport
206
- * @private
207
- */
208
- /* private */ _maybeUpgrade(transport) {
209
- debug('might upgrade socket transport from "%s" to "%s"', this.transport.name, transport.name);
210
- this.upgrading = true;
211
- // set transport upgrade timer
212
- const upgradeTimeoutTimer = (0, timers_1.setTimeout)(() => {
213
- debug("client did not complete upgrade - closing transport");
214
- cleanup();
215
- if ("open" === transport.readyState) {
216
- transport.close();
217
- }
218
- }, this.server.opts.upgradeTimeout);
219
- let checkIntervalTimer;
220
- const onPacket = (packet) => {
221
- if ("ping" === packet.type && "probe" === packet.data) {
222
- debug("got probe ping packet, sending pong");
223
- transport.send([{ type: "pong", data: "probe" }]);
224
- this.emit("upgrading", transport);
225
- clearInterval(checkIntervalTimer);
226
- checkIntervalTimer = setInterval(check, 100);
227
- }
228
- else if ("upgrade" === packet.type && this.readyState !== "closed") {
229
- debug("got upgrade packet - upgrading");
230
- cleanup();
231
- this.transport.discard();
232
- this.upgraded = true;
233
- this.clearTransport();
234
- this.setTransport(transport);
235
- this.emit("upgrade", transport);
236
- this.flush();
237
- if (this.readyState === "closing") {
238
- transport.close(() => {
239
- this.onClose("forced close");
240
- });
241
- }
242
- }
243
- else {
244
- cleanup();
245
- transport.close();
246
- }
247
- };
248
- // we force a polling cycle to ensure a fast upgrade
249
- const check = () => {
250
- if ("polling" === this.transport.name && this.transport.writable) {
251
- debug("writing a noop packet to polling for fast upgrade");
252
- this.transport.send([{ type: "noop" }]);
253
- }
254
- };
255
- const cleanup = () => {
256
- this.upgrading = false;
257
- clearInterval(checkIntervalTimer);
258
- (0, timers_1.clearTimeout)(upgradeTimeoutTimer);
259
- transport.removeListener("packet", onPacket);
260
- transport.removeListener("close", onTransportClose);
261
- transport.removeListener("error", onError);
262
- this.removeListener("close", onClose);
263
- };
264
- const onError = (err) => {
265
- debug("client did not complete upgrade - %s", err);
266
- cleanup();
267
- transport.close();
268
- transport = null;
269
- };
270
- const onTransportClose = () => {
271
- onError("transport closed");
272
- };
273
- const onClose = () => {
274
- onError("socket closed");
275
- };
276
- transport.on("packet", onPacket);
277
- transport.once("close", onTransportClose);
278
- transport.once("error", onError);
279
- this.once("close", onClose);
280
- }
281
- /**
282
- * Clears listeners and timers associated with current transport.
283
- *
284
- * @private
285
- */
286
- clearTransport() {
287
- let cleanup;
288
- const toCleanUp = this.cleanupFn.length;
289
- for (let i = 0; i < toCleanUp; i++) {
290
- cleanup = this.cleanupFn.shift();
291
- cleanup();
292
- }
293
- // silence further transport errors and prevent uncaught exceptions
294
- this.transport.on("error", function () {
295
- debug("error triggered by discarded transport");
296
- });
297
- // ensure transport won't stay open
298
- this.transport.close();
299
- (0, timers_1.clearTimeout)(this.pingTimeoutTimer);
300
- }
301
- /**
302
- * Called upon transport considered closed.
303
- * Possible reasons: `ping timeout`, `client error`, `parse error`,
304
- * `transport error`, `server close`, `transport close`
305
- */
306
- onClose(reason, description) {
307
- if ("closed" !== this.readyState) {
308
- this.readyState = "closed";
309
- // clear timers
310
- (0, timers_1.clearTimeout)(this.pingIntervalTimer);
311
- (0, timers_1.clearTimeout)(this.pingTimeoutTimer);
312
- // clean writeBuffer in next tick, so developers can still
313
- // grab the writeBuffer on 'close' event
314
- process.nextTick(() => {
315
- this.writeBuffer = [];
316
- });
317
- this.packetsFn = [];
318
- this.sentCallbackFn = [];
319
- this.clearTransport();
320
- this.emit("close", reason, description);
321
- }
322
- }
323
- /**
324
- * Sends a message packet.
325
- *
326
- * @param {Object} data
327
- * @param {Object} options
328
- * @param {Function} callback
329
- * @return {Socket} for chaining
330
- */
331
- send(data, options, callback) {
332
- this.sendPacket("message", data, options, callback);
333
- return this;
334
- }
335
- /**
336
- * Alias of {@link send}.
337
- *
338
- * @param data
339
- * @param options
340
- * @param callback
341
- */
342
- write(data, options, callback) {
343
- this.sendPacket("message", data, options, callback);
344
- return this;
345
- }
346
- /**
347
- * Sends a packet.
348
- *
349
- * @param {String} type - packet type
350
- * @param {String} data
351
- * @param {Object} options
352
- * @param {Function} callback
353
- *
354
- * @private
355
- */
356
- sendPacket(type, data, options = {}, callback) {
357
- if ("function" === typeof options) {
358
- callback = options;
359
- options = {};
360
- }
361
- if ("closing" !== this.readyState && "closed" !== this.readyState) {
362
- debug('sending packet "%s" (%s)', type, data);
363
- // compression is enabled by default
364
- options.compress = options.compress !== false;
365
- const packet = {
366
- type,
367
- options: options,
368
- };
369
- if (data)
370
- packet.data = data;
371
- // exports packetCreate event
372
- this.emit("packetCreate", packet);
373
- this.writeBuffer.push(packet);
374
- // add send callback to object, if defined
375
- if ("function" === typeof callback)
376
- this.packetsFn.push(callback);
377
- this.flush();
378
- }
379
- }
380
- /**
381
- * Attempts to flush the packets buffer.
382
- *
383
- * @private
384
- */
385
- flush() {
386
- if ("closed" !== this.readyState &&
387
- this.transport.writable &&
388
- this.writeBuffer.length) {
389
- debug("flushing buffer to transport");
390
- this.emit("flush", this.writeBuffer);
391
- this.server.emit("flush", this, this.writeBuffer);
392
- const wbuf = this.writeBuffer;
393
- this.writeBuffer = [];
394
- if (this.packetsFn.length) {
395
- this.sentCallbackFn.push(this.packetsFn);
396
- this.packetsFn = [];
397
- }
398
- else {
399
- this.sentCallbackFn.push(null);
400
- }
401
- this.transport.send(wbuf);
402
- this.emit("drain");
403
- this.server.emit("drain", this);
404
- }
405
- }
406
- /**
407
- * Get available upgrades for this socket.
408
- *
409
- * @private
410
- */
411
- getAvailableUpgrades() {
412
- const availableUpgrades = [];
413
- const allUpgrades = this.server.upgrades(this.transport.name);
414
- for (let i = 0; i < allUpgrades.length; ++i) {
415
- const upg = allUpgrades[i];
416
- if (this.server.opts.transports.indexOf(upg) !== -1) {
417
- availableUpgrades.push(upg);
418
- }
419
- }
420
- return availableUpgrades;
421
- }
422
- /**
423
- * Closes the socket and underlying transport.
424
- *
425
- * @param {Boolean} discard - optional, discard the transport
426
- * @return {Socket} for chaining
427
- */
428
- close(discard) {
429
- if (discard &&
430
- (this.readyState === "open" || this.readyState === "closing")) {
431
- return this.closeTransport(discard);
432
- }
433
- if ("open" !== this.readyState)
434
- return;
435
- this.readyState = "closing";
436
- if (this.writeBuffer.length) {
437
- debug("there are %d remaining packets in the buffer, waiting for the 'drain' event", this.writeBuffer.length);
438
- this.once("drain", () => {
439
- debug("all packets have been sent, closing the transport");
440
- this.closeTransport(discard);
441
- });
442
- return;
443
- }
444
- debug("the buffer is empty, closing the transport right away");
445
- this.closeTransport(discard);
446
- }
447
- /**
448
- * Closes the underlying transport.
449
- *
450
- * @param {Boolean} discard
451
- * @private
452
- */
453
- closeTransport(discard) {
454
- debug("closing the transport (discard? %s)", !!discard);
455
- if (discard)
456
- this.transport.discard();
457
- this.transport.close(this.onClose.bind(this, "forced close"));
458
- }
459
- }
460
- exports.Socket = Socket;
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Transport = void 0;
4
- const events_1 = require("events");
5
- const parser_v4 = require("engine.io-parser");
6
- const parser_v3 = require("./parser-v3/index");
7
- const debug_1 = require("debug");
8
- const debug = (0, debug_1.default)("engine:transport");
9
- function noop() { }
10
- class Transport extends events_1.EventEmitter {
11
- get readyState() {
12
- return this._readyState;
13
- }
14
- set readyState(state) {
15
- debug("readyState updated from %s to %s (%s)", this._readyState, state, this.name);
16
- this._readyState = state;
17
- }
18
- /**
19
- * Transport constructor.
20
- *
21
- * @param {EngineRequest} req
22
- */
23
- constructor(req) {
24
- super();
25
- /**
26
- * Whether the transport is currently ready to send packets.
27
- */
28
- this.writable = false;
29
- /**
30
- * The current state of the transport.
31
- * @protected
32
- */
33
- this._readyState = "open";
34
- /**
35
- * Whether the transport is discarded and can be safely closed (used during upgrade).
36
- * @protected
37
- */
38
- this.discarded = false;
39
- this.protocol = req._query.EIO === "4" ? 4 : 3; // 3rd revision by default
40
- this.parser = this.protocol === 4 ? parser_v4 : parser_v3;
41
- this.supportsBinary = !(req._query && req._query.b64);
42
- }
43
- /**
44
- * Flags the transport as discarded.
45
- *
46
- * @package
47
- */
48
- discard() {
49
- this.discarded = true;
50
- }
51
- /**
52
- * Called with an incoming HTTP request.
53
- *
54
- * @param req
55
- * @package
56
- */
57
- onRequest(req) { }
58
- /**
59
- * Closes the transport.
60
- *
61
- * @package
62
- */
63
- close(fn) {
64
- if ("closed" === this.readyState || "closing" === this.readyState)
65
- return;
66
- this.readyState = "closing";
67
- this.doClose(fn || noop);
68
- }
69
- /**
70
- * Called with a transport error.
71
- *
72
- * @param {String} msg - message error
73
- * @param {Object} desc - error description
74
- * @protected
75
- */
76
- onError(msg, desc) {
77
- if (this.listeners("error").length) {
78
- const err = new Error(msg);
79
- // @ts-ignore
80
- err.type = "TransportError";
81
- // @ts-ignore
82
- err.description = desc;
83
- this.emit("error", err);
84
- }
85
- else {
86
- debug("ignored transport error %s (%s)", msg, desc);
87
- }
88
- }
89
- /**
90
- * Called with parsed out a packets from the data stream.
91
- *
92
- * @param {Object} packet
93
- * @protected
94
- */
95
- onPacket(packet) {
96
- this.emit("packet", packet);
97
- }
98
- /**
99
- * Called with the encoded packet data.
100
- *
101
- * @param {String} data
102
- * @protected
103
- */
104
- onData(data) {
105
- this.onPacket(this.parser.decodePacket(data));
106
- }
107
- /**
108
- * Called upon transport close.
109
- *
110
- * @protected
111
- */
112
- onClose() {
113
- this.readyState = "closed";
114
- this.emit("close");
115
- }
116
- }
117
- exports.Transport = Transport;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const polling_1 = require("./polling");
4
- const polling_jsonp_1 = require("./polling-jsonp");
5
- const websocket_1 = require("./websocket");
6
- const webtransport_1 = require("./webtransport");
7
- exports.default = {
8
- polling: polling,
9
- websocket: websocket_1.WebSocket,
10
- webtransport: webtransport_1.WebTransport,
11
- };
12
- /**
13
- * Polling polymorphic constructor.
14
- */
15
- function polling(req) {
16
- if ("string" === typeof req._query.j) {
17
- return new polling_jsonp_1.JSONP(req);
18
- }
19
- else {
20
- return new polling_1.Polling(req);
21
- }
22
- }
23
- polling.upgradesTo = ["websocket", "webtransport"];
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JSONP = void 0;
4
- const polling_1 = require("./polling");
5
- const qs = require("querystring");
6
- const rDoubleSlashes = /\\\\n/g;
7
- const rSlashes = /(\\)?\\n/g;
8
- class JSONP extends polling_1.Polling {
9
- /**
10
- * JSON-P polling transport.
11
- */
12
- constructor(req) {
13
- super(req);
14
- this.head = "___eio[" + (req._query.j || "").replace(/[^0-9]/g, "") + "](";
15
- this.foot = ");";
16
- }
17
- onData(data) {
18
- // we leverage the qs module so that we get built-in DoS protection
19
- // and the fast alternative to decodeURIComponent
20
- data = qs.parse(data).d;
21
- if ("string" === typeof data) {
22
- // client will send already escaped newlines as \\\\n and newlines as \\n
23
- // \\n must be replaced with \n and \\\\n with \\n
24
- data = data.replace(rSlashes, function (match, slashes) {
25
- return slashes ? match : "\n";
26
- });
27
- super.onData(data.replace(rDoubleSlashes, "\\n"));
28
- }
29
- }
30
- doWrite(data, options, callback) {
31
- // we must output valid javascript, not valid json
32
- // see: http://timelessrepo.com/json-isnt-a-javascript-subset
33
- const js = JSON.stringify(data)
34
- .replace(/\u2028/g, "\\u2028")
35
- .replace(/\u2029/g, "\\u2029");
36
- // prepare response
37
- data = this.head + js + this.foot;
38
- super.doWrite(data, options, callback);
39
- }
40
- }
41
- exports.JSONP = JSONP;