on-finished
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -0,1 +1,7 @@ | ||
2.1.0 / 2014-08-16 | ||
================== | ||
* Check if `socket` is detached | ||
* Return `undefined` for `isFinished` if state unknown | ||
2.0.0 / 2014-08-16 | ||
@@ -2,0 +8,0 @@ ================== |
21
index.js
@@ -15,3 +15,2 @@ /*! | ||
/** | ||
@@ -43,3 +42,3 @@ * Module dependencies. | ||
function onFinished(msg, listener) { | ||
if (isFinished(msg)) { | ||
if (isFinished(msg) !== false) { | ||
defer(listener) | ||
@@ -64,6 +63,16 @@ return msg | ||
function isFinished(msg) { | ||
// finished for OutgoingMessage, complete for IncomingMessage | ||
return msg.finished === true | ||
|| msg.complete === true | ||
|| msg.socket.writable === false | ||
var socket = msg.socket | ||
if (typeof msg.finished === 'boolean') { | ||
// OutgoingMessage | ||
return Boolean(!socket || msg.finished || !socket.writable) | ||
} | ||
if (typeof msg.complete === 'boolean') { | ||
// IncomingMessage | ||
return Boolean(!socket || msg.complete || !socket.readable) | ||
} | ||
// don't know | ||
return undefined | ||
} | ||
@@ -70,0 +79,0 @@ |
{ | ||
"name": "on-finished", | ||
"description": "Execute a callback when a request closes, finishes, or errors", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"contributors": [ | ||
@@ -6,0 +6,0 @@ "Douglas Christopher Wilson <doug@somethingdoug.com>", |
# on-finished | ||
[![NPM Version](http://img.shields.io/npm/v/on-finished.svg?style=flat)](https://www.npmjs.org/package/on-finished) | ||
[![Node.js Version](http://img.shields.io/badge/node.js->=_0.8-blue.svg?style=flat)](http://nodejs.org/download/) | ||
[![Node.js Version](http://img.shields.io/badge/node.js->=_0.8-brightgreen.svg?style=flat)](http://nodejs.org/download/) | ||
[![Build Status](http://img.shields.io/travis/jshttp/on-finished.svg?style=flat)](https://travis-ci.org/jshttp/on-finished) | ||
@@ -33,3 +33,3 @@ [![Coverage Status](https://img.shields.io/coveralls/jshttp/on-finished.svg?style=flat)](https://coveralls.io/r/jshttp/on-finished) | ||
onFinished(res, function (err) { | ||
// do something maybe | ||
// clean up open fds, etc. | ||
}) | ||
@@ -56,3 +56,3 @@ ``` | ||
onFinished(req, function (err) { | ||
// if err, data is probably incomplete | ||
// data is read unless there is err | ||
}) | ||
@@ -59,0 +59,0 @@ ``` |
8020
101