@sco-techlab/nestjs-websockets
Version:
Websocket (Clients, events) management for Nest.JS framework
37 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebsocketAdapter = void 0;
const platform_socket_io_1 = require("@nestjs/platform-socket.io");
const socket_io_1 = require("socket.io");
class WebsocketAdapter extends platform_socket_io_1.IoAdapter {
constructor(app, options) {
super(app);
this.app = app;
this.options = options;
this.options = this.options ? this.options : getDefaultOptions();
}
createIOServer(port, options) {
if (this.options.cors && this.options.cors['origin'] && typeof this.options.cors['origin'] === 'string') {
this.options.cors['origin'] = formatOrigin(this.options.cors['origin']);
}
return new socket_io_1.Server(this.app.getHttpServer(), this.options);
}
}
exports.WebsocketAdapter = WebsocketAdapter;
function getDefaultOptions() {
return {
path: "/socket.io/",
cors: {
origin: 'http://localhost:4200',
methods: ["GET", "POST"],
credentials: true
},
allowEIO3: true,
};
}
function formatOrigin(envOrigin) {
if (!envOrigin || envOrigin && envOrigin.length == 0)
return ["*"];
return envOrigin.includes(',') ? envOrigin.split(',') : [envOrigin];
}
//# sourceMappingURL=websocket.adapter.js.map