common = require("../common"); assert = common.assert http = require("http"); var sent_body = ""; var server_req_complete = false; var client_res_complete = false; var server = http.createServer(function(req, res) { assert.equal("POST", req.method); req.setBodyEncoding("utf8"); req.addListener('data', function (chunk) { console.log("server got: " + JSON.stringify(chunk)); sent_body += chunk; }); req.addListener('end', function () { server_req_complete = true; console.log("request complete from server"); res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('hello\n'); res.end(); }); }); server.listen(common.PORT); var client = http.createClient(common.PORT); var req = client.request('POST', '/'); req.write('1\n'); req.write('2\n'); req.write('3\n'); req.end(); common.error("client finished sending request"); req.addListener('response', function(res) { res.setEncoding("utf8"); res.addListener('data', function(chunk) { console.log(chunk); }); res.addListener('end', function() { client_res_complete = true; server.close(); }); }); process.addListener("exit", function () { assert.equal("1\n2\n3\n", sent_body); assert.equal(true, server_req_complete); assert.equal(true, client_res_complete); });