@nestjs/websockets
Advanced tools
Comparing version 4.4.1 to 4.5.0
@@ -15,3 +15,3 @@ /// <reference types="node" /> | ||
create(port: number): SocketIO.Server; | ||
createWithNamespace(port: number, namespace: string): SocketIO.Namespace; | ||
createWithNamespace(port: number, namespace: string, server?: any): SocketIO.Namespace; | ||
createIOServer(port: number): SocketIO.Server; | ||
@@ -18,0 +18,0 @@ bindClientConnect(server: any, callback: (...args) => void): void; |
@@ -17,3 +17,3 @@ "use strict"; | ||
} | ||
createWithNamespace(port, namespace) { | ||
createWithNamespace(port, namespace, server) { | ||
return this.createIOServer(port).of(namespace); | ||
@@ -20,0 +20,0 @@ } |
@@ -5,5 +5,5 @@ import { ObservableSocketServer } from './interfaces'; | ||
getAllServers(): Map<string, ObservableSocketServer>; | ||
getServer(namespace: string, port: number): ObservableSocketServer; | ||
getServerByPort(port: number): ObservableSocketServer; | ||
addServer(namespace: string, port: number, server: ObservableSocketServer): void; | ||
clear(): void; | ||
} |
@@ -10,7 +10,9 @@ "use strict"; | ||
} | ||
getServer(namespace, port) { | ||
return this.observableServers.get(`${namespace}:${port}`); | ||
getServerByPort(port) { | ||
return this.observableServers.get(`${port}`); | ||
} | ||
addServer(namespace, port, server) { | ||
this.observableServers.set(`${namespace}:${port}`, server); | ||
this.observableServers.set(namespace | ||
? `${namespace}:${port}` | ||
: `${port}`, server); | ||
} | ||
@@ -17,0 +19,0 @@ clear() { |
{ | ||
"name": "@nestjs/websockets", | ||
"version": "4.4.1", | ||
"version": "4.5.0", | ||
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)", | ||
@@ -5,0 +5,0 @@ "author": "Kamil Mysliwiec", |
@@ -10,4 +10,5 @@ import { SocketsContainer } from './container'; | ||
private createSocketServer(namespace, port); | ||
private getServerOfNamespace(namespace, port); | ||
private createWithNamespace(namespace, port, observableSocket); | ||
private getServerOfNamespace(namespace, port, server); | ||
private validateNamespace(namespace); | ||
} |
@@ -11,18 +11,28 @@ "use strict"; | ||
scanForSocketServer(namespace, port) { | ||
const observableServer = this.socketsContainer.getServer(namespace, port); | ||
return observableServer ? observableServer : this.createSocketServer(namespace, port); | ||
const observableServer = this.socketsContainer.getServerByPort(port); | ||
return observableServer | ||
? this.createWithNamespace(namespace, port, observableServer) | ||
: this.createSocketServer(namespace, port); | ||
} | ||
createSocketServer(namespace, port) { | ||
const server = this.getServerOfNamespace(namespace, port); | ||
const adapter = this.applicationConfig.getIoAdapter(); | ||
const server = adapter.create(port); | ||
const observableSocket = observable_socket_1.ObservableSocket.create(server); | ||
this.socketsContainer.addServer(namespace, port, observableSocket); | ||
return observableSocket; | ||
this.socketsContainer.addServer(null, port, observableSocket); | ||
return this.createWithNamespace(namespace, port, observableSocket); | ||
} | ||
getServerOfNamespace(namespace, port) { | ||
createWithNamespace(namespace, port, observableSocket) { | ||
const adapter = this.applicationConfig.getIoAdapter(); | ||
if (namespace && adapter.createWithNamespace) { | ||
return adapter.createWithNamespace(port, this.validateNamespace(namespace)); | ||
if (!namespace || !adapter.createWithNamespace) { | ||
return observableSocket; | ||
} | ||
return adapter.create(port); | ||
const namespaceServer = this.getServerOfNamespace(namespace, port, observableSocket.server); | ||
const observableNamespaceSocket = observable_socket_1.ObservableSocket.create(namespaceServer); | ||
this.socketsContainer.addServer(namespace, port, observableNamespaceSocket); | ||
return observableNamespaceSocket; | ||
} | ||
getServerOfNamespace(namespace, port, server) { | ||
const adapter = this.applicationConfig.getIoAdapter(); | ||
return adapter.createWithNamespace(port, this.validateNamespace(namespace), server); | ||
} | ||
validateNamespace(namespace) { | ||
@@ -29,0 +39,0 @@ return shared_utils_1.validatePath(namespace); |
54560
894