@eleven-am/pondsocket 0.1.18 → 0.1.20
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/express.js +1 -0
- package/index.d.ts +2 -2
- package/index.js +3 -0
- package/package.json +1 -1
- package/server/endpoint/endpoint.js +1 -13
- package/server/server/pondSocket.js +2 -2
- package/server/server/server.test.js +4 -15
package/express.js
CHANGED
|
@@ -11,6 +11,7 @@ const PondSocket = (app) => {
|
|
|
11
11
|
const server = (0, http_1.createServer)(app);
|
|
12
12
|
const pondSocket = new pondSocket_1.PondSocket(server);
|
|
13
13
|
app.upgrade = (path, handler) => pondSocket.createEndpoint(path, handler);
|
|
14
|
+
app.listen = (...args) => server.listen(...args);
|
|
14
15
|
return app;
|
|
15
16
|
};
|
|
16
17
|
exports.default = PondSocket;
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Channel = void 0;
|
|
4
|
+
const pondChannel_1 = require("./server/pondChannel/pondChannel");
|
|
5
|
+
Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return pondChannel_1.PondChannel; } });
|
|
3
6
|
const pondSocket_1 = require("./server/server/pondSocket");
|
|
4
7
|
exports.default = pondSocket_1.PondSocket;
|
package/package.json
CHANGED
|
@@ -80,7 +80,7 @@ class Endpoint {
|
|
|
80
80
|
* @param handler - The handler to use to authenticate the client
|
|
81
81
|
*/
|
|
82
82
|
_authoriseConnection(request, socket, head, data, handler) {
|
|
83
|
-
const clientId =
|
|
83
|
+
const clientId = request.headers['sec-websocket-key'];
|
|
84
84
|
const req = Object.assign(Object.assign({ headers: request.headers }, data), { id: clientId });
|
|
85
85
|
const resolver = (assigns, data) => {
|
|
86
86
|
if (data.error) {
|
|
@@ -253,17 +253,5 @@ class Endpoint {
|
|
|
253
253
|
_isObjectEmpty(obj) {
|
|
254
254
|
return Object.keys(obj).length === 0;
|
|
255
255
|
}
|
|
256
|
-
/**
|
|
257
|
-
* @desc Generates a new client ID
|
|
258
|
-
* @private
|
|
259
|
-
*/
|
|
260
|
-
_generateClientId() {
|
|
261
|
-
let id = '';
|
|
262
|
-
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
263
|
-
for (let i = 0; i < 21; i++) {
|
|
264
|
-
id += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
265
|
-
}
|
|
266
|
-
return id;
|
|
267
|
-
}
|
|
268
256
|
}
|
|
269
257
|
exports.Endpoint = Endpoint;
|
|
@@ -9,8 +9,8 @@ class PondSocket {
|
|
|
9
9
|
constructor(server, socketServer) {
|
|
10
10
|
this._middleware = [];
|
|
11
11
|
this._matcher = new matchPattern_1.MatchPattern();
|
|
12
|
-
this._server = server
|
|
13
|
-
this._socketServer = socketServer
|
|
12
|
+
this._server = server !== null && server !== void 0 ? server : new http_1.Server();
|
|
13
|
+
this._socketServer = socketServer !== null && socketServer !== void 0 ? socketServer : new ws_1.WebSocketServer({ noServer: true });
|
|
14
14
|
this._init();
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
@@ -61,9 +61,7 @@ describe('server', () => {
|
|
|
61
61
|
write: jest.fn(),
|
|
62
62
|
destroy: jest.fn(),
|
|
63
63
|
};
|
|
64
|
-
socket.listen(3001
|
|
65
|
-
console.log('server listening');
|
|
66
|
-
});
|
|
64
|
+
socket.listen(3001);
|
|
67
65
|
server.emit('upgrade', {}, socketClient);
|
|
68
66
|
server.close();
|
|
69
67
|
// these functions are called because there is no endpoint to accept the socket
|
|
@@ -72,13 +70,8 @@ describe('server', () => {
|
|
|
72
70
|
});
|
|
73
71
|
it('should be able to accept a socket if a handler is provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
72
|
const socket = new pondSocket_1.PondSocket();
|
|
75
|
-
const server = socket.listen(3001
|
|
76
|
-
console.log('server listening');
|
|
77
|
-
});
|
|
73
|
+
const server = socket.listen(3001);
|
|
78
74
|
expect(server).toBeDefined();
|
|
79
|
-
socket.createEndpoint('/api/hello', () => {
|
|
80
|
-
console.log('server listening');
|
|
81
|
-
});
|
|
82
75
|
socket.createEndpoint('/api/:path', (req, res) => {
|
|
83
76
|
expect(req.params.path).toBe('socket');
|
|
84
77
|
res.accept();
|
|
@@ -92,9 +85,7 @@ describe('server', () => {
|
|
|
92
85
|
}));
|
|
93
86
|
it('should be able to reject a socket if the handler rejects', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
87
|
const socket = new pondSocket_1.PondSocket();
|
|
95
|
-
const server = socket.listen(3001
|
|
96
|
-
console.log('server listening');
|
|
97
|
-
});
|
|
88
|
+
const server = socket.listen(3001);
|
|
98
89
|
expect(server).toBeDefined();
|
|
99
90
|
socket.createEndpoint('/api/:path', (req, res) => {
|
|
100
91
|
expect(req.params.path).toBe('socket');
|
|
@@ -107,9 +98,7 @@ describe('server', () => {
|
|
|
107
98
|
}));
|
|
108
99
|
it('should be able to send a message after connection', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
100
|
const socket = new pondSocket_1.PondSocket();
|
|
110
|
-
const server = socket.listen(3001
|
|
111
|
-
console.log('server listening');
|
|
112
|
-
});
|
|
101
|
+
const server = socket.listen(3001);
|
|
113
102
|
expect(server).toBeDefined();
|
|
114
103
|
socket.createEndpoint('/api/:path', (req, res) => {
|
|
115
104
|
expect(req.params.path).toBe('socket');
|