@proteinjs/server 2.0.0 → 2.1.0
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/CHANGELOG.md +22 -0
- package/dist/src/SocketIOServerRepo.d.ts +2 -1
- package/dist/src/SocketIOServerRepo.d.ts.map +1 -1
- package/dist/src/SocketIOServerRepo.js +63 -9
- package/dist/src/SocketIOServerRepo.js.map +1 -1
- package/dist/src/startServer.js +40 -29
- package/dist/src/startServer.js.map +1 -1
- package/package.json +3 -3
- package/src/SocketIOServerRepo.ts +6 -2
- package/src/startServer.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.1.0](https://github.com/proteinjs/server/compare/@proteinjs/server@2.0.1...@proteinjs/server@2.1.0) (2024-09-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* added `SocketIOServerRepo.getSocketIOServerIfExists` so the app can choose where and how it handles errors. useful for automated testing when you don't want events to send, but don't want errors to be thrown. ([861d092](https://github.com/proteinjs/server/commit/861d092011d17ddb4f8a8246c57ef2cec99966ac))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [2.0.1](https://github.com/proteinjs/server/compare/@proteinjs/server@2.0.0...@proteinjs/server@2.0.1) (2024-08-31)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* `DefaultSocketIOServerFactory.createSocketIOServer` and `SocketIOServerRepo.createSocketIOServer` to return a Promise ([19d947e](https://github.com/proteinjs/server/commit/19d947eef68d0957d8db1117d958acef05a42874))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
# [2.0.0](https://github.com/proteinjs/server/compare/@proteinjs/server@1.8.2...@proteinjs/server@2.0.0) (2024-08-30)
|
|
7
29
|
|
|
8
30
|
|
|
@@ -9,7 +9,8 @@ export interface ExtendedSocket extends Socket {
|
|
|
9
9
|
request: ExtendedIncomingMessage;
|
|
10
10
|
}
|
|
11
11
|
export declare class SocketIOServerRepo {
|
|
12
|
-
static createSocketIOServer(httpServer: HttpServer): SocketIOServer
|
|
12
|
+
static createSocketIOServer(httpServer: HttpServer): Promise<SocketIOServer>;
|
|
13
13
|
static getSocketIOServer(): SocketIOServer;
|
|
14
|
+
static getSocketIOServerIfExists(): SocketIOServer | undefined;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=SocketIOServerRepo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketIOServerRepo.d.ts","sourceRoot":"","sources":["../../src/SocketIOServerRepo.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAW7D,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED,qBAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"SocketIOServerRepo.d.ts","sourceRoot":"","sources":["../../src/SocketIOServerRepo.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AAW7D,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED,qBAAa,kBAAkB;WAChB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAclF,MAAM,CAAC,iBAAiB,IAAI,cAAc;IAU1C,MAAM,CAAC,yBAAyB,IAAI,cAAc,GAAG,SAAS;CAG/D"}
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.SocketIOServerRepo = void 0;
|
|
4
40
|
var socket_io_1 = require("socket.io");
|
|
@@ -13,15 +49,30 @@ var SocketIOServerRepo = /** @class */ (function () {
|
|
|
13
49
|
function SocketIOServerRepo() {
|
|
14
50
|
}
|
|
15
51
|
SocketIOServerRepo.createSocketIOServer = function (httpServer) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var socketIOServerFactory, socketIOServer, _a;
|
|
54
|
+
return __generator(this, function (_b) {
|
|
55
|
+
switch (_b.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
if (getGlobal().__proteinjs_server_SocketIOServer) {
|
|
58
|
+
throw new Error('Socket IO Server already initialized');
|
|
59
|
+
}
|
|
60
|
+
socketIOServerFactory = (0, event_1.getDefaultSocketIOServerFactory)();
|
|
61
|
+
if (!socketIOServerFactory) return [3 /*break*/, 2];
|
|
62
|
+
return [4 /*yield*/, socketIOServerFactory.createSocketIOServer(httpServer)];
|
|
63
|
+
case 1:
|
|
64
|
+
_a = _b.sent();
|
|
65
|
+
return [3 /*break*/, 3];
|
|
66
|
+
case 2:
|
|
67
|
+
_a = new socket_io_1.Server(httpServer);
|
|
68
|
+
_b.label = 3;
|
|
69
|
+
case 3:
|
|
70
|
+
socketIOServer = _a;
|
|
71
|
+
getGlobal().__proteinjs_server_SocketIOServer = socketIOServer;
|
|
72
|
+
return [2 /*return*/, getGlobal().__proteinjs_server_SocketIOServer];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
25
76
|
};
|
|
26
77
|
SocketIOServerRepo.getSocketIOServer = function () {
|
|
27
78
|
if (!getGlobal().__proteinjs_server_SocketIOServer) {
|
|
@@ -29,6 +80,9 @@ var SocketIOServerRepo = /** @class */ (function () {
|
|
|
29
80
|
}
|
|
30
81
|
return getGlobal().__proteinjs_server_SocketIOServer;
|
|
31
82
|
};
|
|
83
|
+
SocketIOServerRepo.getSocketIOServerIfExists = function () {
|
|
84
|
+
return getGlobal().__proteinjs_server_SocketIOServer;
|
|
85
|
+
};
|
|
32
86
|
return SocketIOServerRepo;
|
|
33
87
|
}());
|
|
34
88
|
exports.SocketIOServerRepo = SocketIOServerRepo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketIOServerRepo.js","sourceRoot":"","sources":["../../src/SocketIOServerRepo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SocketIOServerRepo.js","sourceRoot":"","sources":["../../src/SocketIOServerRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA6D;AAC7D,0CAAmE;AAEnE,IAAM,SAAS,GAAG;IAChB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAWF;IAAA;IA4BA,CAAC;IA3Bc,uCAAoB,GAAjC,UAAkC,UAAsB;;;;;;wBACtD,IAAI,SAAS,EAAE,CAAC,iCAAiC,EAAE;4BACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;yBACzD;wBAEK,qBAAqB,GAAG,IAAA,uCAA+B,GAAE,CAAC;6BACzC,qBAAqB,EAArB,wBAAqB;wBACxC,qBAAM,qBAAqB,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAA;;wBAA5D,KAAA,SAA4D,CAAA;;;wBAC5D,KAAA,IAAI,kBAAc,CAAC,UAAU,CAAC,CAAA;;;wBAF5B,cAAc,KAEc;wBAClC,SAAS,EAAE,CAAC,iCAAiC,GAAG,cAAc,CAAC;wBAE/D,sBAAO,SAAS,EAAE,CAAC,iCAAiC,EAAC;;;;KACtD;IAEM,oCAAiB,GAAxB;QACE,IAAI,CAAC,SAAS,EAAE,CAAC,iCAAiC,EAAE;YAClD,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;SACH;QAED,OAAO,SAAS,EAAE,CAAC,iCAAiC,CAAC;IACvD,CAAC;IAEM,4CAAyB,GAAhC;QACE,OAAO,SAAS,EAAE,CAAC,iCAAiC,CAAC;IACvD,CAAC;IACH,yBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,gDAAkB"}
|
package/dist/src/startServer.js
CHANGED
|
@@ -95,21 +95,23 @@ function startServer(config) {
|
|
|
95
95
|
server_api_1.Global.setData(globalData);
|
|
96
96
|
(0, loadRoutes_1.loadDefaultStarRoute)(routes, app, config);
|
|
97
97
|
afterRequest(app, config);
|
|
98
|
-
initializeSocketIO(app, server);
|
|
99
|
-
return [4 /*yield*/, runStartupTasks('after server config')];
|
|
98
|
+
return [4 /*yield*/, initializeSocketIO(app, server)];
|
|
100
99
|
case 6:
|
|
101
100
|
_d.sent();
|
|
102
|
-
|
|
101
|
+
return [4 /*yield*/, runStartupTasks('after server config')];
|
|
102
|
+
case 7:
|
|
103
|
+
_d.sent();
|
|
104
|
+
if (!config.onStartup) return [3 /*break*/, 9];
|
|
103
105
|
logger.info({ message: "Starting ServerConfig.onStartup" });
|
|
104
106
|
return [4 /*yield*/, config.onStartup()];
|
|
105
|
-
case
|
|
107
|
+
case 8:
|
|
106
108
|
_d.sent();
|
|
107
109
|
logger.info({ message: "Finished ServerConfig.onStartup" });
|
|
108
|
-
_d.label =
|
|
109
|
-
case
|
|
110
|
+
_d.label = 9;
|
|
111
|
+
case 9:
|
|
110
112
|
start(server, config);
|
|
111
113
|
return [4 /*yield*/, runStartupTasks('after server start')];
|
|
112
|
-
case
|
|
114
|
+
case 10:
|
|
113
115
|
_d.sent();
|
|
114
116
|
return [2 /*return*/];
|
|
115
117
|
}
|
|
@@ -303,28 +305,37 @@ function afterRequest(app, config) {
|
|
|
303
305
|
}
|
|
304
306
|
}
|
|
305
307
|
function initializeSocketIO(app, server) {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
308
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
309
|
+
var io, wrapMiddleware, sessionMiddleware;
|
|
310
|
+
return __generator(this, function (_a) {
|
|
311
|
+
switch (_a.label) {
|
|
312
|
+
case 0: return [4 /*yield*/, SocketIOServerRepo_1.SocketIOServerRepo.createSocketIOServer(server)];
|
|
313
|
+
case 1:
|
|
314
|
+
io = _a.sent();
|
|
315
|
+
wrapMiddleware = function (middleware) { return function (socket, next) { return middleware(socket.request, {}, next); }; };
|
|
316
|
+
sessionMiddleware = app.get('sessionMiddleware');
|
|
317
|
+
io.use(wrapMiddleware(sessionMiddleware));
|
|
318
|
+
io.use(wrapMiddleware(passport_1.default.initialize()));
|
|
319
|
+
io.use(wrapMiddleware(passport_1.default.session()));
|
|
320
|
+
// Use passport for authentication with Socket.IO
|
|
321
|
+
io.use(function (socket, next) {
|
|
322
|
+
if (socket.request.user) {
|
|
323
|
+
next();
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
next(new Error('Unauthorized'));
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
// Map this socket to the session id so it can be closed when the session is destroyed
|
|
330
|
+
io.on('connection', function (socket) {
|
|
331
|
+
var sessionId = socket.request.sessionID;
|
|
332
|
+
if (sessionId) {
|
|
333
|
+
socket.join(sessionId);
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
return [2 /*return*/];
|
|
337
|
+
}
|
|
338
|
+
});
|
|
328
339
|
});
|
|
329
340
|
}
|
|
330
341
|
function start(server, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/startServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,oEAA6C;AAC7C,gEAAyC;AACzC,4DAAqC;AACrC,sDAAgC;AAChC,kEAA2C;AAC3C,oDAA8B;AAC9B,kFAA0D;AAC1D,kFAA0D;AAC1D,6BAA4C;AAC5C,oDAQ+B;AAC/B,2CAAgE;AAChE,4CAA2C;AAC3C,qDAAuD;AACvD,2DAA0E;AAE1E,IAAM,iBAAiB,GAAG,UAAU,CAAC;AACrC,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,IAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AACtB,IAAM,MAAM,GAAG,IAAI,aAAU,CAAC,GAAG,CAAC,CAAC;AAEnC,SAAsB,WAAW,CAAC,MAAoB;;;;;wBACpD,qBAAM,eAAe,CAAC,sBAAsB,CAAC,EAAA;;oBAA7C,SAA6C,CAAC;oBACxC,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;oBAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBACvB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC9B,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC3B,IAAA,uBAAU,EACR,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,EACvC,GAAG,EACH,MAAM,CACP,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,mEAAmE;oBACxF,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC1C,IAAA,uBAAU,EACR,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,OAAO,EAAd,CAAc,CAAC,EACxC,GAAG,EACH,MAAM,CACP,CAAC;oBAEI,UAAU,GAAe,EAAE,CAAC;0BACiB,EAArB,SAAA,gCAAmB,GAAE;;;yBAArB,CAAA,cAAqB,CAAA;oBAAxC,eAAe;oBACxB,KAAA,UAAU,CAAA;oBAAC,KAAA,eAAe,CAAC,GAAG,CAAA;oBAAI,qBAAM,eAAe,CAAC,MAAM,EAAE,EAAA;;oBAAhE,MAA+B,GAAG,SAA8B,CAAC;;;oBADrC,IAAqB,CAAA;;;oBAGnD,mBAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAE3B,IAAA,iCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC1C,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC1B,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/startServer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A server impl",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
|
|
25
|
-
"@proteinjs/event": "1.0.
|
|
25
|
+
"@proteinjs/event": "^1.0.2",
|
|
26
26
|
"@proteinjs/logger": "1.0.6",
|
|
27
27
|
"@proteinjs/reflection": "1.1.9",
|
|
28
28
|
"@proteinjs/server-api": "^1.5.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
},
|
|
76
76
|
"main": "./dist/generated/index.js",
|
|
77
77
|
"types": "./dist/generated/index.d.ts",
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "a10c5ecc6726a6cb68fdded97d9e613f1a33700d"
|
|
79
79
|
}
|
|
@@ -20,14 +20,14 @@ export interface ExtendedSocket extends Socket {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export class SocketIOServerRepo {
|
|
23
|
-
static createSocketIOServer(httpServer: HttpServer): SocketIOServer {
|
|
23
|
+
static async createSocketIOServer(httpServer: HttpServer): Promise<SocketIOServer> {
|
|
24
24
|
if (getGlobal().__proteinjs_server_SocketIOServer) {
|
|
25
25
|
throw new Error('Socket IO Server already initialized');
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const socketIOServerFactory = getDefaultSocketIOServerFactory();
|
|
29
29
|
const socketIOServer = socketIOServerFactory
|
|
30
|
-
? socketIOServerFactory.createSocketIOServer(httpServer)
|
|
30
|
+
? await socketIOServerFactory.createSocketIOServer(httpServer)
|
|
31
31
|
: new SocketIOServer(httpServer);
|
|
32
32
|
getGlobal().__proteinjs_server_SocketIOServer = socketIOServer;
|
|
33
33
|
|
|
@@ -43,4 +43,8 @@ export class SocketIOServerRepo {
|
|
|
43
43
|
|
|
44
44
|
return getGlobal().__proteinjs_server_SocketIOServer;
|
|
45
45
|
}
|
|
46
|
+
|
|
47
|
+
static getSocketIOServerIfExists(): SocketIOServer | undefined {
|
|
48
|
+
return getGlobal().__proteinjs_server_SocketIOServer;
|
|
49
|
+
}
|
|
46
50
|
}
|
package/src/startServer.ts
CHANGED
|
@@ -55,7 +55,7 @@ export async function startServer(config: ServerConfig) {
|
|
|
55
55
|
|
|
56
56
|
loadDefaultStarRoute(routes, app, config);
|
|
57
57
|
afterRequest(app, config);
|
|
58
|
-
initializeSocketIO(app, server);
|
|
58
|
+
await initializeSocketIO(app, server);
|
|
59
59
|
|
|
60
60
|
await runStartupTasks('after server config');
|
|
61
61
|
if (config.onStartup) {
|
|
@@ -242,8 +242,8 @@ function afterRequest(app: express.Express, config: ServerConfig) {
|
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
function initializeSocketIO(app: express.Express, server: HttpServer) {
|
|
246
|
-
const io = SocketIOServerRepo.createSocketIOServer(server);
|
|
245
|
+
async function initializeSocketIO(app: express.Express, server: HttpServer) {
|
|
246
|
+
const io = await SocketIOServerRepo.createSocketIOServer(server);
|
|
247
247
|
|
|
248
248
|
// Share session and passport middleware with Socket.IO
|
|
249
249
|
const wrapMiddleware = (middleware: any) => (socket: any, next: any) => middleware(socket.request, {}, next);
|