Socket
Socket
Sign inDemoInstall

server-ready

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

server-ready - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

43

lib/index.js

@@ -11,7 +11,17 @@ 'use strict';

serverReady.timeout = 20 * 1000; // 20 seconds
// default timeout (20s)
serverReady.timeout = 20 * 1000;
// The following params are accepted:
// port, cb
// port, host, cb
// port, timeout, cb
// port, host, timeout, cb
function serverReady(port) {
var start = new Date();
var timeout = serverReady.timeout;
var cb = undefined;
var host = undefined,
hostOrTimeout = undefined,
cb = undefined;

@@ -22,7 +32,22 @@ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {

if (args.length > 1) {
timeout = args[0];
cb = args[1];
} else {
cb = args[0];
switch (args.length) {
case 1:
cb = args[0];
break;
case 2:
hostOrTimeout = args[0];
cb = args[1];
if (typeof hostOrTimeout === 'string') {
host = hostOrTimeout;
} else {
timeout = hostOrTimeout;
}
break;
default:
host = args[0];
timeout = args[1];
cb = args[2];
}

@@ -33,7 +58,5 @@

var ready = false;
var start = new Date();
var connect = function connect(port, cb) {
var client = net.connect({ port: port }).on('connect', function () {
var client = net.connect({ port: port, host: host }).on('connect', function () {

@@ -40,0 +63,0 @@ ready = true;

{
"name": "server-ready",
"version": "0.2.0",
"version": "0.3.0",
"description": "Know when a server is ready to receive requests",

@@ -28,3 +28,3 @@ "main": "lib/index.js",

"devDependencies": {
"babel": "^5.8.20",
"babel": "^6.5.2",
"tape": "^4.0.1"

@@ -31,0 +31,0 @@ },

@@ -15,6 +15,6 @@ # server-ready [![Build Status](https://travis-ci.org/typicode/server-ready.svg)](https://travis-ci.org/typicode/server-ready) [![npm version](https://badge.fury.io/js/server-ready.svg)](https://www.npmjs.com/package/server-ready)

var serverReady = require('server-ready')
var port = 3000
// A server process is spawned here or somewhere else...
serverReady(3000, function (err) {
serverReady(port, function (err) {
if (err) return console.error('timeout, can\'t connect to port')

@@ -35,3 +35,3 @@ console.log('port is open or has just opened')

__serverReady(port, [timeout], cb)__
__serverReady(port[, host][, timeout], cb)__

@@ -38,0 +38,0 @@ Tries to connect to `port`.

@@ -1,10 +0,10 @@

let test = require('tape')
let http = require('http')
let serverReady = require('../src')
const test = require('tape')
const http = require('http')
const serverReady = require('../src')
test('user timeout', (t) => {
test('port', (t) => {
t.plan(2)
let port = 3100
let server = http.createServer()
const port = 3100
const server = http.createServer()

@@ -18,11 +18,26 @@ serverReady(port, 100, (err) => t.assert(err))

test('port and host', (t) => {
t.plan(2)
const port = 3200
const host = '127.0.0.2'
const server = http.createServer()
serverReady(port, host, 100, (err) => t.assert(err))
serverReady(port, host, 1000, (err) => t.error(err))
setTimeout(() => server.listen(port, host), 500)
setTimeout(() => server.close(), 1500)
})
test('default timeout', (t) => {
t.plan(2)
let someClosedPort = 45678
let defaultTimeout = 20 * 1000
let start = Date.now()
const someClosedPort = 45678
const defaultTimeout = 20 * 1000
const start = Date.now()
serverReady(someClosedPort, (err) => {
let end = Date.now()
const end = Date.now()

@@ -37,9 +52,9 @@ t.assert(err)

let someClosedPort = 45678
let timeout = 5 * 1000
let start = Date.now()
const someClosedPort = 45678
const timeout = 5 * 1000
const start = Date.now()
serverReady.timeout = timeout
serverReady(someClosedPort, (err) => {
let end = Date.now()
const end = Date.now()

@@ -46,0 +61,0 @@ t.assert(err)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc