mirror of https://github.com/lukechilds/node.git
Browse Source
rnewson found a good bug in keep-alive. we were only using the request headers we send to enable/disable keep-alive but when the server sends Connection: close we need to close down the connection regardless. I wrote up a patch the Robert verified makes all his test client code work now and I also added a new unittest for it.v0.7.4-release
Mikeal Rogers
14 years ago
committed by
Ryan Dahl
2 changed files with 53 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||
common = require("../common"); |
|||
assert = common.assert |
|||
|
|||
assert = require("assert"); |
|||
http = require("http"); |
|||
sys = require("sys"); |
|||
|
|||
body = "hello world\n"; |
|||
headers = {'connection':'keep-alive'} |
|||
|
|||
server = http.createServer(function (req, res) { |
|||
res.writeHead(200, {"Content-Length": body.length, "Connection":"close"}); |
|||
res.write(body); |
|||
res.end(); |
|||
}); |
|||
|
|||
connectCount = 0; |
|||
|
|||
server.listen(common.PORT, function () { |
|||
var client = http.createClient(common.PORT); |
|||
|
|||
client.addListener("connect", function () { |
|||
common.error("CONNECTED") |
|||
connectCount++; |
|||
}) |
|||
|
|||
var request = client.request("GET", "/", headers); |
|||
request.end(); |
|||
request.addListener('response', function (response) { |
|||
common.error('response start'); |
|||
|
|||
|
|||
response.addListener("end", function () { |
|||
common.error('response end'); |
|||
var req = client.request("GET", "/", headers); |
|||
req.addListener('response', function (response) { |
|||
response.addListener("end", function () { |
|||
client.end(); |
|||
server.close(); |
|||
}) |
|||
}) |
|||
req.end(); |
|||
}); |
|||
}); |
|||
}); |
|||
|
|||
process.addListener('exit', function () { |
|||
assert.equal(2, connectCount); |
|||
}); |
Loading…
Reference in new issue