HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
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: //lib/node_modules/pm2/node_modules/pm2-multimeter/example/web_multibar.js
var http = require('http');
var multimeter = require('multimeter');

http.createServer(function (req, res) {
    res.setHeader('content-type', 'application/octet-stream');
    
    var multi = multimeter(res);
    multi.charm.on('^C', process.exit);
    multi.charm.reset();
    
    var bars = [];
    var progress = [];
    var deltas = [];
    
    for (var i = 0; i < 5; i++) {
        var s = 'ABCDE'[i] + ': \n';
        multi.write(s);
        
        var bar = multi(s.length, i + 1, {
            width : 20,
            solid : {
                text : '|',
                foreground : 'white',
                background : 'blue'
            },
            empty : { text : ' ' },
        });
        bars.push(bar);
        
        deltas[i] = 1 + Math.random() * 9;
        progress.push(0);
    }
    
    multi.write('\nbeep boop\n');
    
    var pending = progress.length;
    var iv = setInterval(function () {
        progress.forEach(function (p, i) {
            progress[i] += Math.random() * deltas[i];
            bars[i].percent(progress[i]);
            if (p < 100 && progress[i] >= 100) pending --;
            if (pending === 0) {
                multi.write('\nAll done.\n');
                res.end();
            }
        });
    }, 100);
    
    res.connection.on('end', function () {
        multi.destroy();
        clearInterval(iv);
    });
}).listen(8080);

console.log('curl -N localhost:8080');