From 83727a4c86e7e7fe1b698bb22b8ab2a7f119d67d Mon Sep 17 00:00:00 2001 From: Abe Fettig Date: Thu, 31 Mar 2011 17:02:14 -0400 Subject: [PATCH] Fix bug where http response.readable was never set to false Closes GH-867. --- lib/http.js | 1 + test/simple/test-http-response-readable.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 test/simple/test-http-response-readable.js diff --git a/lib/http.js b/lib/http.js index d10f58d9ed..1e7512d542 100644 --- a/lib/http.js +++ b/lib/http.js @@ -129,6 +129,7 @@ var parsers = new FreeList('parsers', 1000, function() { } if (!parser.incoming.upgrade) { // For upgraded connections, also emit this after parser.execute + parser.incoming.readable = false; parser.incoming.emit('end'); } }; diff --git a/test/simple/test-http-response-readable.js b/test/simple/test-http-response-readable.js new file mode 100644 index 0000000000..d0adfe364c --- /dev/null +++ b/test/simple/test-http-response-readable.js @@ -0,0 +1,19 @@ +var common = require('../common'); +var assert = require('assert'); +var http = require('http'); + +var testServer = new http.Server(function(req, res) { + res.writeHead(200); + res.end('Hello world'); +}); + +testServer.listen(common.PORT, function() { + http.get({ port: common.PORT }, function(res) { + assert.equal(res.readable, true, 'res.readable initially true'); + res.on('end', function() { + assert.equal(res.readable, false, 'res.readable set to false after end'); + testServer.close(); + }); + }); +}); +