server-ready
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5867
107