فهرست منبع

Delete index.js

Sergii Kliuchnyk 2 سال پیش
والد
کامیت
904d3d4105
1فایلهای تغییر یافته به همراه0 افزوده شده و 100 حذف شده
  1. 0 100
      dist/src/services/webSocketServer/index.js

+ 0 - 100
dist/src/services/webSocketServer/index.js

@@ -1,100 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.WebSocketServer = void 0;
-const events_1 = __importDefault(require("events"));
-const url_1 = __importDefault(require("url"));
-const ws_1 = __importDefault(require("ws"));
-const enums_1 = require("../../enums");
-const client_1 = require("../../models/client");
-const WS_PATH = 'peerjs';
-class WebSocketServer extends events_1.default {
-    constructor({ server, realm, config }) {
-        super();
-        this.setMaxListeners(0);
-        this.realm = realm;
-        this.config = config;
-        const path = this.config.path;
-        this.path = `${path}${path.endsWith('/') ? "" : "/"}${WS_PATH}`;
-        const options = {
-            path: this.path,
-            server,
-        };
-        this.socketServer = (config.createWebSocketServer ?
-            config.createWebSocketServer(options) :
-            new ws_1.default.Server(options));
-        this.socketServer.on("connection", (socket, req) => this._onSocketConnection(socket, req));
-        this.socketServer.on("error", (error) => this._onSocketError(error));
-    }
-    _onSocketConnection(socket, req) {
-        var _a;
-        const { query = {} } = url_1.default.parse((_a = req.url) !== null && _a !== void 0 ? _a : '', true);
-        const { id, token, key } = query;
-        if (!id || !token || !key) {
-            return this._sendErrorAndClose(socket, enums_1.Errors.INVALID_WS_PARAMETERS);
-        }
-        if (key !== this.config.key) {
-            return this._sendErrorAndClose(socket, enums_1.Errors.INVALID_KEY);
-        }
-        const client = this.realm.getClientById(id);
-        if (client) {
-            if (token !== client.getToken()) {
-                // ID-taken, invalid token
-                socket.send(JSON.stringify({
-                    type: enums_1.MessageType.ID_TAKEN,
-                    payload: { msg: "ID is taken" }
-                }));
-                return socket.close();
-            }
-            return this._configureWS(socket, client);
-        }
-        this._registerClient({ socket, id, token });
-    }
-    _onSocketError(error) {
-        // handle error
-        this.emit("error", error);
-    }
-    _registerClient({ socket, id, token }) {
-        // Check concurrent limit
-        const clientsCount = this.realm.getClientsIds().length;
-        if (clientsCount >= this.config.concurrent_limit) {
-            return this._sendErrorAndClose(socket, enums_1.Errors.CONNECTION_LIMIT_EXCEED);
-        }
-        const newClient = new client_1.Client({ id, token });
-        this.realm.setClient(newClient, id);
-        socket.send(JSON.stringify({ type: enums_1.MessageType.OPEN }));
-        this._configureWS(socket, newClient);
-    }
-    _configureWS(socket, client) {
-        client.setSocket(socket);
-        // Cleanup after a socket closes.
-        socket.on("close", () => {
-            if (client.getSocket() === socket) {
-                this.realm.removeClientById(client.getId());
-                this.emit("close", client);
-            }
-        });
-        // Handle messages from peers.
-        socket.on("message", (data) => {
-            try {
-                const message = JSON.parse(data);
-                message.src = client.getId();
-                this.emit("message", client, message);
-            }
-            catch (e) {
-                this.emit("error", e);
-            }
-        });
-        this.emit("connection", client);
-    }
-    _sendErrorAndClose(socket, msg) {
-        socket.send(JSON.stringify({
-            type: enums_1.MessageType.ERROR,
-            payload: { msg }
-        }));
-        socket.close();
-    }
-}
-exports.WebSocketServer = WebSocketServer;