HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode-site/node_modules/browser-sync/dist/sockets.js
"use strict";
var socket = require("socket.io");
var utils = require("./server/utils");
/**
 * Plugin interface
 * @returns {*|function(this:exports)}
 */
module.exports.plugin = function (server, clientEvents, bs) {
    return exports.init(server, clientEvents, bs);
};
/**
 * @param {http.Server} server
 * @param clientEvents
 * @param {BrowserSync} bs
 */
module.exports.init = function (server, clientEvents, bs) {
    var emitter = bs.events;
    var socketConfig = bs.options.get("socket").toJS();
    if (bs.options.get("mode") === "proxy" &&
        bs.options.getIn(["proxy", "ws"])) {
        server = utils.getServer(null, bs.options).server;
        server.listen(bs.options.getIn(["socket", "port"]));
        bs.registerCleanupTask(function () {
            server.close();
        });
    }
    var socketIoConfig = socketConfig.socketIoOptions;
    socketIoConfig.path = socketConfig.path;
    var io = socket(server, socketIoConfig);
    // Override default namespace.
    io.sockets = io.of(socketConfig.namespace);
    io.set("heartbeat interval", socketConfig.clients.heartbeatTimeout);
    // Breaking change was introduced https://socket.io/blog/socket-io-2-4-0/
    io.origins(function (_, callback) {
        callback(null, true);
    });
    /**
     * Listen for new connections
     */
    io.sockets.on("connection", handleConnection);
    /**
     * Handle each new connection
     * @param {Object} client
     */
    function handleConnection(client) {
        // set ghostmode callbacks
        if (bs.options.get("ghostMode")) {
            addGhostMode(client);
        }
        client.emit("connection", bs.options.toJS()); //todo - trim the amount of options sent to clients
        emitter.emit("client:connected", {
            ua: client.handshake.headers["user-agent"]
        });
    }
    /**
     * @param client
     */
    function addGhostMode(client) {
        clientEvents.forEach(addEvent);
        function addEvent(event) {
            client.on(event, function (data) {
                client.broadcast.emit(event, data);
            });
        }
    }
    return io;
};
//# sourceMappingURL=sockets.js.map