Many http tests had used legacy http.Client.
This refactored it to use modern API.
Fixes #1528.
// Proxy to the chargen server.
var proxy = http.createServer(function(req, res) {
- var c = http.createClient(9000, 'localhost');
-
var len = parseInt(req.headers['x-len'], 10);
assert.ok(len > 0);
var sent = 0;
- c.addListener('error', function(e) {
+ function onError(e) {
console.log('proxy client error. sent ' + sent);
throw e;
- });
+ }
- var proxy_req = c.request(req.method, req.url, req.headers);
- proxy_req.addListener('response', function(proxy_res) {
+ var proxy_req = http.request({
+ host: 'localhost',
+ port: 9000,
+ method: req.method,
+ path: req.url,
+ headers: req.headers
+ }, function(proxy_res) {
res.writeHead(proxy_res.statusCode, proxy_res.headers);
var count = 0;
});
});
-
+ proxy_req.on('error', onError);
proxy_req.end();
});
proxy.listen(9001, ready);
var recved = 0;
- var req = http.createClient(9001, 'localhost').request('/', {'x-len': len});
-
- req.addListener('response', function(res) {
+ var req = http.request({
+ port: 9001,
+ host: 'localhost',
+ path: '/',
+ headers: {'x-len': len}
+ }, function(res) {
res.addListener('data', function(d) {
recved += d.length;
}
}
-serversRunning = 0;
+var serversRunning = 0;
function ready() {
if (++serversRunning < 2) return;
call_chargen([100, 1000, 10000, 100000, 1000000]);
var gotEnd = false;
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
- var request = client.request('HEAD', '/');
- request.addListener('response', function(response) {
+ var request = http.request({
+ port: common.PORT,
+ method: 'HEAD',
+ path: '/'
+ }, function(response) {
console.log('got response');
response.addListener('data', function() {
process.exit(2);
connections++;
setTimeout(function() {
- var client = http.createClient(common.PORT),
- request = client.request('POST', '/');
+ var request = http.request({
+ port: common.PORT,
+ method: 'POST',
+ path: '/'
+ });
function ping() {
var nextPing = (Math.random() * 900).toFixed();
res.end();
});
-var client = http.createClient(common.PORT);
-
function nextRequest() {
var method = methods.shift();
console.error('writing request: %s', method);
- var request = client.request(method, '/');
- request.on('response', function(response) {
+ var request = http.request({
+ port: common.PORT,
+ method: method,
+ path: '/'
+ }, function(response) {
response.on('end', function() {
if (methods.length == 0) {
console.error('close server');
web.listen(common.PORT, function() {
console.log('Making request');
- var client = http.createClient(common.PORT);
- var req = client.request('GET', '/', { 'content-length': buffer.length });
- req.end(buffer);
-
- req.on('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'GET',
+ path: '/',
+ headers: { 'content-length': buffer.length }
+ }, function(res) {
console.log('Got response');
res.setEncoding('utf8');
res.on('data', function(string) {
gotThanks = true;
});
});
+ req.end(buffer);
});
var parseError = false;
srv.listen(common.PORT, '127.0.0.1', function() {
- var hc = http.createClient(common.PORT, '127.0.0.1');
- hc.request('GET', '/').end();
-
- hc.on('error', function(e) {
+ var req = http.request({
+ host: '127.0.0.1',
+ port: common.PORT,
+ method: 'GET',
+ path: '/'});
+ req.end();
+
+ req.on('error', function(e) {
console.log('got error from client');
srv.close();
assert.ok(e.message.indexOf('Parse Error') >= 0);
var body2 = '';
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
-
- var req1 = client.request('/1');
+ var req1 = http.request({ port: common.PORT, path: '/1' });
req1.end();
req1.addListener('response', function(res1) {
res1.setEncoding('utf8');
});
res1.addListener('end', function() {
- var req2 = client.request('/2');
+ var req2 = http.request({ port: common.PORT, path: '/2' });
req2.end();
req2.addListener('response', function(res2) {
res2.setEncoding('utf8');
server.listen(common.PORT);
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
- var req = client.request('POST', '/');
-
- req.write(new Buffer(N));
- req.end();
-
- common.error('client finished sending request');
-
- req.addListener('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'POST',
+ path: '/'
+ }, function(res) {
res.setEncoding('utf8');
res.addListener('data', function(chunk) {
console.log(chunk);
server.close();
});
});
+
+ req.write(new Buffer(N));
+ req.end();
+
+ common.error('client finished sending request');
});
process.addListener('exit', function() {
server.listen(common.PORT);
server.addListener('listening', function() {
- 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) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'POST',
+ path: '/'
+ }, function(res) {
res.setEncoding('utf8');
res.addListener('data', function(chunk) {
console.log(chunk);
server.close();
});
});
+
+ req.write('1\n');
+ req.write('2\n');
+ req.write('3\n');
+ req.end();
+
+ common.error('client finished sending request');
});
process.addListener('exit', function() {
});
s.listen(common.PORT, function() {
- var r = http.createClient(common.PORT);
- var request = r.request('GET', '/');
-
- request.on('response', function(response) {
+ var request = http.request({ port: common.PORT }, function(response) {
console.log('STATUS: ' + response.statusCode);
s.close();
});
server.listen(common.PORT, function() {
var req;
for (var i = 0; i < 4; i += 1) {
- req = http.createClient(common.PORT).request('GET', '/busy/' + i);
- req.end();
+ req = http.get({ port: common.PORT, path: '/busy/' + i });
}
});
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
- var req = client.request('POST', '/world', {
- 'Expect': '100-continue'
+ var req = http.request({
+ port: common.PORT,
+ method: 'POST',
+ path: '/world',
+ headers: { 'Expect': '100-continue' }
});
common.debug('Client sending request...');
outstanding_reqs++;
var gotEnd = false;
server.listen(common.PORT, function() {
- var client = http.createClient(common.PORT);
- var request = client.request('HEAD', '/');
- request.end();
- request.addListener('response', function(response) {
+ var request = http.request({
+ port: common.PORT,
+ method: 'HEAD',
+ path: '/'
+ }, function(response) {
common.error('response start');
response.addListener('end', function() {
common.error('response end');
gotEnd = true;
});
});
+ request.end();
});
process.addListener('exit', function() {
var responseComplete = false;
server.addListener('listening', function() {
- var req = http.createClient(common.PORT).request('HEAD', '/');
- common.error('req');
- req.end();
- req.addListener('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'HEAD',
+ path: '/'
+ }, function(res) {
common.error('response');
res.addListener('end', function() {
common.error('response end');
responseComplete = true;
});
});
+ common.error('req');
+ req.end();
});
process.addListener('exit', function() {
var responseComplete = false;
server.addListener('listening', function() {
- var req = http.createClient(common.PORT).request('HEAD', '/');
- common.error('req');
- req.end();
- req.addListener('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'HEAD',
+ path: '/'
+ }, function(res) {
common.error('response');
res.addListener('end', function() {
common.error('response end');
responseComplete = true;
});
});
+ common.error('req');
+ req.end();
});
process.addListener('exit', function() {
res.end();
});
-var proxy_client = http.createClient(BACKEND_PORT);
var proxy = http.createServer(function(req, res) {
common.debug('proxy req headers: ' + JSON.stringify(req.headers));
- var proxy_req = proxy_client.request(url.parse(req.url).pathname);
- proxy_req.end();
- proxy_req.addListener('response', function(proxy_res) {
+ var proxy_req = http.get({
+ port: BACKEND_PORT,
+ path: url.parse(req.url).pathname
+ }, function(proxy_res) {
common.debug('proxy res headers: ' + JSON.stringify(proxy_res.headers));
nlistening++;
if (nlistening < 2) return;
- var client = http.createClient(PROXY_PORT);
- var req = client.request('/test');
- common.debug('client req');
- req.addListener('response', function(res) {
+ var client = http.get({
+ port: PROXY_PORT,
+ path: '/test'
+ }, function(res) {
common.debug('got res');
assert.equal(200, res.statusCode);
common.debug('closed both');
});
});
- req.end();
+ common.debug('client req');
}
common.debug('listen proxy');
});
srv.listen(common.PORT, function() {
- var hc = http.createClient(common.PORT, 'localhost');
- var hr = hc.request('/',
- [
- ['accept', 'abc'],
- ['accept', 'def'],
- ['Accept', 'ghijklmnopqrst'],
- ['host', 'foo'],
- ['Host', 'bar'],
- ['hOst', 'baz'],
- ['x-foo', 'bingo'],
- ['x-bar', 'banjo'],
- ['x-bar', 'bango']
- ]);
- hr.end();
+ http.get({
+ host: 'localhost',
+ port: common.PORT,
+ path: '/',
+ headers: [
+ ['accept', 'abc'],
+ ['accept', 'def'],
+ ['Accept', 'ghijklmnopqrst'],
+ ['host', 'foo'],
+ ['Host', 'bar'],
+ ['hOst', 'baz'],
+ ['x-foo', 'bingo'],
+ ['x-bar', 'banjo'],
+ ['x-bar', 'bango']
+ ]
+ });
});
//
// one set-cookie header
//
- var client = http.createClient(common.PORT);
- var req = client.request('GET', '/one');
- req.end();
-
- req.addListener('response', function(res) {
+ http.get({ port: common.PORT, path: '/one' }, function(res) {
// set-cookie headers are always return in an array.
// even if there is only one.
assert.deepEqual(['A'], res.headers['set-cookie']);
// two set-cookie headers
- var client = http.createClient(common.PORT);
- var req = client.request('GET', '/two');
- req.end();
-
- req.addListener('response', function(res) {
+ http.get({ port: common.PORT, path: '/two' }, function(res) {
assert.deepEqual(['A', 'B'], res.headers['set-cookie']);
assert.equal('text/plain', res.headers['content-type']);
// now, see if the client sees the trailers.
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
- var req = client.request('/hello', {});
- req.end();
- outstanding_reqs++;
- req.addListener('response', function(res) {
+ http.get({ port: common.PORT, path: '/hello', headers: {} }, function(res) {
res.addListener('end', function() {
//console.log(res.trailers);
assert.ok('x-foo' in res.trailers, 'Client doesn\'t see trailers.');
}
});
});
+ outstanding_reqs++;
});
srv.listen(common.PORT, '127.0.0.1', function() {
- var hc = http.createClient(common.PORT, '127.0.0.1').request('GET', '/');
- hc.addListener('upgrade', function(res, socket, upgradeHead) {
+ var req = http.get({ port: common.PORT });
+ req.addListener('upgrade', function(res, socket, upgradeHead) {
// XXX: This test isn't fantastic, as it assumes that the entire response
// from the server will arrive in a single data callback
assert.equal(upgradeHead, 'nurtzo');
gotUpgrade = true;
});
- hc.end();
});
process.addListener('exit', function() {
function upgradeRequest(fn) {
console.log("req");
var header = { 'Connection': 'Upgrade', 'Upgrade': 'Test' };
- var request = http.createClient(common.PORT).request('GET', '/', header);
- var client = request;
+ var request = http.request({ port: common.PORT, headers: header });
var wasUpgrade = false;
function onUpgrade(res, socket, head) {
console.log("client upgraded");
wasUpgrade = true;
- client.removeListener('upgrade', onUpgrade);
+ request.removeListener('upgrade', onUpgrade);
socket.end();
}
- client.on('upgrade', onUpgrade);
+ request.on('upgrade', onUpgrade);
function onEnd() {
console.log("client end");
- client.removeListener('end', onEnd);
+ request.removeListener('end', onEnd);
if (!wasUpgrade) {
throw new Error('hasn\'t received upgrade event');
} else {
fn && process.nextTick(fn);
}
}
- client.on('close', onEnd);
+ request.on('close', onEnd);
request.write('head');
server.listen(common.PORT, function() {
- var client = http.createClient(common.PORT);
- var req = client.request('/');
- req.end();
- req.addListener('response', function(res) {
+ http.get({ port: common.PORT }, function(res) {
assert.equal(200, res.statusCode);
res.setEncoding('ascii');
res.addListener('data', function(chunk) {
server.listen(common.PORT);
server.addListener('listening', function() {
- var client = http.createClient(common.PORT);
- var req = client.request('/hello', {'Accept': '*/*', 'Foo': 'bar'});
- req.end();
- req.addListener('response', function(res) {
+ var agent = new http.Agent({ port: common.PORT, maxSockets: 1 });
+ http.get({
+ port: common.PORT,
+ path: '/hello',
+ headers: {'Accept': '*/*', 'Foo': 'bar'},
+ agent: agent
+ }, function(res) {
assert.equal(200, res.statusCode);
responses_recvd += 1;
res.setEncoding('utf8');
});
setTimeout(function() {
- req = client.request('POST', '/world');
- req.end();
- req.addListener('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'POST',
+ path: '/world',
+ agent: agent
+ }, function(res) {
assert.equal(200, res.statusCode);
responses_recvd += 1;
res.setEncoding('utf8');
res.addListener('data', function(chunk) { body1 += chunk; });
common.debug('Got /world response');
});
+ req.end();
}, 1);
});
srv.listenFD(fd);
// Make an HTTP request to the server above
-var hc = http.createClient(common.PORT, '127.0.0.1');
-hc.request('/').end();
+http.get({ port: common.PORT, host: '127.0.0.1', path: '/'});
// Verify that we're exiting after having received an HTTP request
process.addListener('exit', function() {
console.log('Making request');
- var client = http.createClient(common.PORT);
- var req = client.request('GET', '/', { 'content-length': buffer.length });
- req.write(buffer);
- req.end();
-
- req.on('response', function(res) {
+ var req = http.request({
+ port: common.PORT,
+ method: 'GET',
+ path: '/',
+ headers: { 'content-length': buffer.length }
+ }, function(res) {
console.log('Got response');
res.setEncoding('utf8');
res.on('data', function(string) {
gotThanks = true;
});
});
+ req.write(buffer);
+ req.end();
}
process.on('exit', function() {
var resBodySize = 0;
server.listen(common.PORT, function() {
- var client = http.createClient(common.PORT);
-
- var req = client.request('GET', '/');
- req.end();
-
- req.on('response', function(res) {
+ http.get({ port: common.PORT }, function(res) {
gotResponse = true;
res.on('data', function(d) {
assert.equal(0, resBodySize);
});
-