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.1.0 to 0.2.0

21

lib/index.js

@@ -6,2 +6,3 @@ 'use strict';

});
exports['default'] = serverReady;
var net = require('net');

@@ -11,3 +12,19 @@ var once = require('once');

exports['default'] = function (port, timeout, cb) {
serverReady.timeout = 20 * 1000; // 20 seconds
function serverReady(port) {
var timeout = serverReady.timeout;
var cb = undefined;
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
if (args.length > 1) {
timeout = args[0];
cb = args[1];
} else {
cb = args[0];
}
cb = once(cb);

@@ -41,4 +58,4 @@

connect(port, cb);
};
}
module.exports = exports['default'];

2

package.json
{
"name": "server-ready",
"version": "0.1.0",
"version": "0.2.0",
"description": "Know when a server is ready to receive requests",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -1,4 +0,4 @@

# server-ready
# 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)
> Know when a server is ready to receive requests
> Know when a server is ready to receive requests. Used in [hotel](https://github.com/typicode/hotel).

@@ -11,3 +11,3 @@ ## Install

## Usage
## Example

@@ -17,6 +17,5 @@ ```javascript

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

@@ -29,6 +28,16 @@ console.log('port is open or has just opened')

`server-ready` will try to connect every 250ms to the specified port until a connection has been made or timeout has been reached.
`server-ready` will try to connect every `250ms` to the specified `port` until a connection has been made or timeout has been reached (`20s` by default).
## API
__serverReady.timeout__
Default timeout.
__serverReady(port, [timeout], cb)__
Tries to connect to `port`.
## License
MIT - [Typicode](https://github.com/typicode)
let test = require('tape')
let http = require('http')
let index = require('../src')
let serverReady = require('../src')
test('index', (t) => {
test('user timeout', (t) => {
t.plan(2)

@@ -11,4 +11,4 @@

index(port, 100, (err) => t.assert(err))
index(port, 1000, (err) => t.error(err))
serverReady(port, 100, (err) => t.assert(err))
serverReady(port, 1000, (err) => t.error(err))

@@ -18,1 +18,32 @@ setTimeout(() => server.listen(port), 500)

})
test('default timeout', (t) => {
t.plan(2)
let someClosedPort = 45678
let defaultTimeout = 20 * 1000
let start = Date.now()
serverReady(someClosedPort, (err) => {
let end = Date.now()
t.assert(err)
t.ok(end - start > defaultTimeout)
})
})
test('change default timeout', (t) => {
t.plan(2)
let someClosedPort = 45678
let timeout = 5 * 1000
let start = Date.now()
serverReady.timeout = timeout
serverReady(someClosedPort, (err) => {
let end = Date.now()
t.assert(err)
t.ok(end - start > timeout)
})
})
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