Skip to content

Commit 709c803

Browse files
committed
Security
1 parent 76ebcde commit 709c803

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
### Fixed
1111

12-
- Dependencies
12+
- Security: Dynamic method call
1313

1414
## Version 1.6.3 - 2025-04-10
1515

src/socket/ws.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class SocketWSServer extends SocketServer {
1313
constructor(server, path, config) {
1414
super(server, path, config);
1515
this.wss = new WebSocket.Server({ ...config?.options, noServer: true });
16-
this.services = {};
16+
this.services = new Map();
1717
cds.ws = this;
1818
cds.wss = this.wss;
1919
}
@@ -39,7 +39,7 @@ class SocketWSServer extends SocketServer {
3939
request.queryOptions = urlObj?.query || {};
4040
request.id ??= request.queryOptions.id;
4141
request.url = urlObj?.pathname;
42-
if (!(typeof this.services[request.url] === "function")) {
42+
if (!(typeof this.services.get(request.url) === "function")) {
4343
socket.write(`HTTP/1.1 404 Not Found\r\n\r\n`);
4444
socket.destroy();
4545
return;
@@ -54,8 +54,8 @@ class SocketWSServer extends SocketServer {
5454
});
5555

5656
this.wss.on("connection", async (ws, request) => {
57-
if (this.services[request.url]) {
58-
this.services[request.url](ws, request);
57+
if (typeof this.services.get(request.url) === "function") {
58+
this.services.get(request.url)(ws, request);
5959
} else {
6060
DEBUG?.("No websocket service for url", request.url);
6161
}
@@ -65,7 +65,7 @@ class SocketWSServer extends SocketServer {
6565
service(service, path, connected) {
6666
this.adapter?.on(service, path);
6767
const format = this.format(service);
68-
this.services[this.servicePath(path)] = (ws, request) => {
68+
this.services.set(this.servicePath(path), (ws, request) => {
6969
DEBUG?.("Initialized");
7070
ws.on("close", () => {
7171
this.onDisconnect(ws);
@@ -162,7 +162,7 @@ class SocketWSServer extends SocketServer {
162162
} catch (err) {
163163
LOG?.error(err);
164164
}
165-
};
165+
});
166166
}
167167

168168
async broadcast({ service, path, event, data, tenant, user, context, identifier, headers, socket, local }) {

0 commit comments

Comments
 (0)