HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
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/vhost/disk-apps/pwa.sports-crowd.com/node_modules/protractor/built/bpRunner.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
const q = require("q");
const logger_1 = require("./logger");
const BP_PATH = require.resolve('blocking-proxy/built/lib/bin.js');
let logger = new logger_1.Logger('BlockingProxy');
class BlockingProxyRunner {
    constructor(config) {
        this.config = config;
    }
    start() {
        return q.Promise((resolve, reject) => {
            this.checkSupportedConfig();
            let args = [
                '--fork',
                '--seleniumAddress',
                this.config.seleniumAddress,
            ];
            if (this.config.webDriverLogDir) {
                args.push('--logDir', this.config.webDriverLogDir);
            }
            if (this.config.highlightDelay) {
                args.push('--highlightDelay', this.config.highlightDelay.toString());
            }
            this.bpProcess = child_process_1.fork(BP_PATH, args, { silent: true });
            logger.info('Starting BlockingProxy with args: ' + args.toString());
            this.bpProcess
                .on('message', (data) => {
                this.port = data['port'];
                resolve(data['port']);
            })
                .on('error', (err) => {
                reject(new Error('Unable to start BlockingProxy ' + err));
            })
                .on('exit', (code, signal) => {
                reject(new Error('BP exited with ' + code));
                logger.error('Exited with ' + code);
                logger.error('signal ' + signal);
            });
            this.bpProcess.stdout.on('data', (msg) => {
                logger.debug(msg.toString().trim());
            });
            this.bpProcess.stderr.on('data', (msg) => {
                logger.error(msg.toString().trim());
            });
            process.on('exit', () => {
                this.bpProcess.kill();
            });
        });
    }
    checkSupportedConfig() {
        if (this.config.directConnect) {
            throw new Error('BlockingProxy not yet supported with directConnect!');
        }
    }
}
exports.BlockingProxyRunner = BlockingProxyRunner;
//# sourceMappingURL=bpRunner.js.map