0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-29 23:16:30 +01:00
nodejs/test/mjsunit/test-http-client-race.js
Ryan 70fe920fb5 Use events for all HTTP messages.
This is a rather large refactor! Mostly for the better side. I've had to
remove some functionality like req.interrupt(). A lot of other work is left
messy or incomplete.
2009-06-28 19:08:26 +02:00

43 lines
940 B
JavaScript

include("mjsunit.js");
PORT = 8888;
var body1_s = "1111111111111111";
var body2_s = "22222";
var server = node.http.createServer(function (req, res) {
var body = req.uri.path === "/1" ? body1_s : body2_s;
res.sendHeader(200, [
["Content-Type", "text/plain"],
["Content-Length", body.length]
]);
res.sendBody(body);
res.finish();
});
server.listen(PORT);
var client = node.http.createClient(PORT);
var body1 = "";
var body2 = "";
client.get("/1").finish(function (res1) {
res1.setBodyEncoding("utf8");
res1.onBody = function (chunk) { body1 += chunk; };
res1.onBodyComplete = function () {
client.get("/2").finish(function (res2) {
res2.setBodyEncoding("utf8");
res2.onBody = function (chunk) { body2 += chunk; };
res2.onBodyComplete = function () {
server.close();
};
});
};
});
function onExit () {
assertEquals(body1_s, body1);
assertEquals(body2_s, body2);
}