test: refactored http test.
Many http tests had used legacy http.Client. This refactored it to use modern API. Fixes #1528.
This commit is contained in:
parent
c05936ca13
commit
8293bb8a32
@ -43,21 +43,24 @@ chargen.listen(9000, ready);
|
|||||||
|
|
||||||
// Proxy to the chargen server.
|
// Proxy to the chargen server.
|
||||||
var proxy = http.createServer(function(req, res) {
|
var proxy = http.createServer(function(req, res) {
|
||||||
var c = http.createClient(9000, 'localhost');
|
|
||||||
|
|
||||||
var len = parseInt(req.headers['x-len'], 10);
|
var len = parseInt(req.headers['x-len'], 10);
|
||||||
assert.ok(len > 0);
|
assert.ok(len > 0);
|
||||||
|
|
||||||
var sent = 0;
|
var sent = 0;
|
||||||
|
|
||||||
|
|
||||||
c.addListener('error', function(e) {
|
function onError(e) {
|
||||||
console.log('proxy client error. sent ' + sent);
|
console.log('proxy client error. sent ' + sent);
|
||||||
throw e;
|
throw e;
|
||||||
});
|
}
|
||||||
|
|
||||||
var proxy_req = c.request(req.method, req.url, req.headers);
|
var proxy_req = http.request({
|
||||||
proxy_req.addListener('response', function(proxy_res) {
|
host: 'localhost',
|
||||||
|
port: 9000,
|
||||||
|
method: req.method,
|
||||||
|
path: req.url,
|
||||||
|
headers: req.headers
|
||||||
|
}, function(proxy_res) {
|
||||||
res.writeHead(proxy_res.statusCode, proxy_res.headers);
|
res.writeHead(proxy_res.statusCode, proxy_res.headers);
|
||||||
|
|
||||||
var count = 0;
|
var count = 0;
|
||||||
@ -74,7 +77,7 @@ var proxy = http.createServer(function(req, res) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
proxy_req.on('error', onError);
|
||||||
proxy_req.end();
|
proxy_req.end();
|
||||||
});
|
});
|
||||||
proxy.listen(9001, ready);
|
proxy.listen(9001, ready);
|
||||||
@ -89,9 +92,12 @@ function call_chargen(list) {
|
|||||||
|
|
||||||
var recved = 0;
|
var recved = 0;
|
||||||
|
|
||||||
var req = http.createClient(9001, 'localhost').request('/', {'x-len': len});
|
var req = http.request({
|
||||||
|
port: 9001,
|
||||||
req.addListener('response', function(res) {
|
host: 'localhost',
|
||||||
|
path: '/',
|
||||||
|
headers: {'x-len': len}
|
||||||
|
}, function(res) {
|
||||||
|
|
||||||
res.addListener('data', function(d) {
|
res.addListener('data', function(d) {
|
||||||
recved += d.length;
|
recved += d.length;
|
||||||
@ -115,7 +121,7 @@ function call_chargen(list) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
serversRunning = 0;
|
var serversRunning = 0;
|
||||||
function ready() {
|
function ready() {
|
||||||
if (++serversRunning < 2) return;
|
if (++serversRunning < 2) return;
|
||||||
call_chargen([100, 1000, 10000, 100000, 1000000]);
|
call_chargen([100, 1000, 10000, 100000, 1000000]);
|
||||||
|
@ -42,9 +42,11 @@ server.listen(common.PORT);
|
|||||||
var gotEnd = false;
|
var gotEnd = false;
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var request = http.request({
|
||||||
var request = client.request('HEAD', '/');
|
port: common.PORT,
|
||||||
request.addListener('response', function(response) {
|
method: 'HEAD',
|
||||||
|
path: '/'
|
||||||
|
}, function(response) {
|
||||||
console.log('got response');
|
console.log('got response');
|
||||||
response.addListener('data', function() {
|
response.addListener('data', function() {
|
||||||
process.exit(2);
|
process.exit(2);
|
||||||
|
@ -48,8 +48,11 @@ server.listen(common.PORT, '127.0.0.1', function() {
|
|||||||
connections++;
|
connections++;
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
var client = http.createClient(common.PORT),
|
var request = http.request({
|
||||||
request = client.request('POST', '/');
|
port: common.PORT,
|
||||||
|
method: 'POST',
|
||||||
|
path: '/'
|
||||||
|
});
|
||||||
|
|
||||||
function ping() {
|
function ping() {
|
||||||
var nextPing = (Math.random() * 900).toFixed();
|
var nextPing = (Math.random() * 900).toFixed();
|
||||||
|
@ -38,14 +38,15 @@ var server = http.createServer(function(req, res) {
|
|||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
var client = http.createClient(common.PORT);
|
|
||||||
|
|
||||||
function nextRequest() {
|
function nextRequest() {
|
||||||
var method = methods.shift();
|
var method = methods.shift();
|
||||||
console.error('writing request: %s', method);
|
console.error('writing request: %s', method);
|
||||||
|
|
||||||
var request = client.request(method, '/');
|
var request = http.request({
|
||||||
request.on('response', function(response) {
|
port: common.PORT,
|
||||||
|
method: method,
|
||||||
|
path: '/'
|
||||||
|
}, function(response) {
|
||||||
response.on('end', function() {
|
response.on('end', function() {
|
||||||
if (methods.length == 0) {
|
if (methods.length == 0) {
|
||||||
console.error('close server');
|
console.error('close server');
|
||||||
|
@ -68,11 +68,12 @@ var gotThanks = false;
|
|||||||
web.listen(common.PORT, function() {
|
web.listen(common.PORT, function() {
|
||||||
console.log('Making request');
|
console.log('Making request');
|
||||||
|
|
||||||
var client = http.createClient(common.PORT);
|
var req = http.request({
|
||||||
var req = client.request('GET', '/', { 'content-length': buffer.length });
|
port: common.PORT,
|
||||||
req.end(buffer);
|
method: 'GET',
|
||||||
|
path: '/',
|
||||||
req.on('response', function(res) {
|
headers: { 'content-length': buffer.length }
|
||||||
|
}, function(res) {
|
||||||
console.log('Got response');
|
console.log('Got response');
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
res.on('data', function(string) {
|
res.on('data', function(string) {
|
||||||
@ -80,6 +81,7 @@ web.listen(common.PORT, function() {
|
|||||||
gotThanks = true;
|
gotThanks = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
req.end(buffer);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,10 +37,14 @@ var srv = net.createServer(function(c) {
|
|||||||
var parseError = false;
|
var parseError = false;
|
||||||
|
|
||||||
srv.listen(common.PORT, '127.0.0.1', function() {
|
srv.listen(common.PORT, '127.0.0.1', function() {
|
||||||
var hc = http.createClient(common.PORT, '127.0.0.1');
|
var req = http.request({
|
||||||
hc.request('GET', '/').end();
|
host: '127.0.0.1',
|
||||||
|
port: common.PORT,
|
||||||
|
method: 'GET',
|
||||||
|
path: '/'});
|
||||||
|
req.end();
|
||||||
|
|
||||||
hc.on('error', function(e) {
|
req.on('error', function(e) {
|
||||||
console.log('got error from client');
|
console.log('got error from client');
|
||||||
srv.close();
|
srv.close();
|
||||||
assert.ok(e.message.indexOf('Parse Error') >= 0);
|
assert.ok(e.message.indexOf('Parse Error') >= 0);
|
||||||
|
@ -39,9 +39,7 @@ var body1 = '';
|
|||||||
var body2 = '';
|
var body2 = '';
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var req1 = http.request({ port: common.PORT, path: '/1' });
|
||||||
|
|
||||||
var req1 = client.request('/1');
|
|
||||||
req1.end();
|
req1.end();
|
||||||
req1.addListener('response', function(res1) {
|
req1.addListener('response', function(res1) {
|
||||||
res1.setEncoding('utf8');
|
res1.setEncoding('utf8');
|
||||||
@ -51,7 +49,7 @@ server.addListener('listening', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
res1.addListener('end', function() {
|
res1.addListener('end', function() {
|
||||||
var req2 = client.request('/2');
|
var req2 = http.request({ port: common.PORT, path: '/2' });
|
||||||
req2.end();
|
req2.end();
|
||||||
req2.addListener('response', function(res2) {
|
req2.addListener('response', function(res2) {
|
||||||
res2.setEncoding('utf8');
|
res2.setEncoding('utf8');
|
||||||
|
@ -46,15 +46,11 @@ var server = http.createServer(function(req, res) {
|
|||||||
server.listen(common.PORT);
|
server.listen(common.PORT);
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var req = http.request({
|
||||||
var req = client.request('POST', '/');
|
port: common.PORT,
|
||||||
|
method: 'POST',
|
||||||
req.write(new Buffer(N));
|
path: '/'
|
||||||
req.end();
|
}, function(res) {
|
||||||
|
|
||||||
common.error('client finished sending request');
|
|
||||||
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
res.addListener('data', function(chunk) {
|
res.addListener('data', function(chunk) {
|
||||||
console.log(chunk);
|
console.log(chunk);
|
||||||
@ -64,6 +60,11 @@ server.addListener('listening', function() {
|
|||||||
server.close();
|
server.close();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
req.write(new Buffer(N));
|
||||||
|
req.end();
|
||||||
|
|
||||||
|
common.error('client finished sending request');
|
||||||
});
|
});
|
||||||
|
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -47,16 +47,11 @@ var server = http.createServer(function(req, res) {
|
|||||||
server.listen(common.PORT);
|
server.listen(common.PORT);
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var req = http.request({
|
||||||
var req = client.request('POST', '/');
|
port: common.PORT,
|
||||||
req.write('1\n');
|
method: 'POST',
|
||||||
req.write('2\n');
|
path: '/'
|
||||||
req.write('3\n');
|
}, function(res) {
|
||||||
req.end();
|
|
||||||
|
|
||||||
common.error('client finished sending request');
|
|
||||||
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
res.addListener('data', function(chunk) {
|
res.addListener('data', function(chunk) {
|
||||||
console.log(chunk);
|
console.log(chunk);
|
||||||
@ -66,6 +61,13 @@ server.addListener('listening', function() {
|
|||||||
server.close();
|
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() {
|
process.addListener('exit', function() {
|
||||||
|
@ -33,10 +33,7 @@ var s = http.createServer(function(req, res) {
|
|||||||
});
|
});
|
||||||
s.listen(common.PORT, function() {
|
s.listen(common.PORT, function() {
|
||||||
|
|
||||||
var r = http.createClient(common.PORT);
|
var request = http.request({ port: common.PORT }, function(response) {
|
||||||
var request = r.request('GET', '/');
|
|
||||||
|
|
||||||
request.on('response', function(response) {
|
|
||||||
console.log('STATUS: ' + response.statusCode);
|
console.log('STATUS: ' + response.statusCode);
|
||||||
s.close();
|
s.close();
|
||||||
});
|
});
|
||||||
|
@ -33,8 +33,7 @@ var server = http.createServer(function(req, res) {
|
|||||||
server.listen(common.PORT, function() {
|
server.listen(common.PORT, function() {
|
||||||
var req;
|
var req;
|
||||||
for (var i = 0; i < 4; i += 1) {
|
for (var i = 0; i < 4; i += 1) {
|
||||||
req = http.createClient(common.PORT).request('GET', '/busy/' + i);
|
req = http.get({ port: common.PORT, path: '/busy/' + i });
|
||||||
req.end();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -51,9 +51,11 @@ server.listen(common.PORT);
|
|||||||
|
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var req = http.request({
|
||||||
var req = client.request('POST', '/world', {
|
port: common.PORT,
|
||||||
'Expect': '100-continue'
|
method: 'POST',
|
||||||
|
path: '/world',
|
||||||
|
headers: { 'Expect': '100-continue' }
|
||||||
});
|
});
|
||||||
common.debug('Client sending request...');
|
common.debug('Client sending request...');
|
||||||
outstanding_reqs++;
|
outstanding_reqs++;
|
||||||
|
@ -37,16 +37,18 @@ var server = http.createServer(function(req, res) {
|
|||||||
var gotEnd = false;
|
var gotEnd = false;
|
||||||
|
|
||||||
server.listen(common.PORT, function() {
|
server.listen(common.PORT, function() {
|
||||||
var client = http.createClient(common.PORT);
|
var request = http.request({
|
||||||
var request = client.request('HEAD', '/');
|
port: common.PORT,
|
||||||
request.end();
|
method: 'HEAD',
|
||||||
request.addListener('response', function(response) {
|
path: '/'
|
||||||
|
}, function(response) {
|
||||||
common.error('response start');
|
common.error('response start');
|
||||||
response.addListener('end', function() {
|
response.addListener('end', function() {
|
||||||
common.error('response end');
|
common.error('response end');
|
||||||
gotEnd = true;
|
gotEnd = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
request.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -37,10 +37,11 @@ server.listen(common.PORT);
|
|||||||
var responseComplete = false;
|
var responseComplete = false;
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var req = http.createClient(common.PORT).request('HEAD', '/');
|
var req = http.request({
|
||||||
common.error('req');
|
port: common.PORT,
|
||||||
req.end();
|
method: 'HEAD',
|
||||||
req.addListener('response', function(res) {
|
path: '/'
|
||||||
|
}, function(res) {
|
||||||
common.error('response');
|
common.error('response');
|
||||||
res.addListener('end', function() {
|
res.addListener('end', function() {
|
||||||
common.error('response end');
|
common.error('response end');
|
||||||
@ -48,6 +49,8 @@ server.addListener('listening', function() {
|
|||||||
responseComplete = true;
|
responseComplete = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
common.error('req');
|
||||||
|
req.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -37,10 +37,11 @@ server.listen(common.PORT);
|
|||||||
var responseComplete = false;
|
var responseComplete = false;
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var req = http.createClient(common.PORT).request('HEAD', '/');
|
var req = http.request({
|
||||||
common.error('req');
|
port: common.PORT,
|
||||||
req.end();
|
method: 'HEAD',
|
||||||
req.addListener('response', function(res) {
|
path: '/'
|
||||||
|
}, function(res) {
|
||||||
common.error('response');
|
common.error('response');
|
||||||
res.addListener('end', function() {
|
res.addListener('end', function() {
|
||||||
common.error('response end');
|
common.error('response end');
|
||||||
@ -48,6 +49,8 @@ server.addListener('listening', function() {
|
|||||||
responseComplete = true;
|
responseComplete = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
common.error('req');
|
||||||
|
req.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -43,12 +43,12 @@ var backend = http.createServer(function(req, res) {
|
|||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
var proxy_client = http.createClient(BACKEND_PORT);
|
|
||||||
var proxy = http.createServer(function(req, res) {
|
var proxy = http.createServer(function(req, res) {
|
||||||
common.debug('proxy req headers: ' + JSON.stringify(req.headers));
|
common.debug('proxy req headers: ' + JSON.stringify(req.headers));
|
||||||
var proxy_req = proxy_client.request(url.parse(req.url).pathname);
|
var proxy_req = http.get({
|
||||||
proxy_req.end();
|
port: BACKEND_PORT,
|
||||||
proxy_req.addListener('response', function(proxy_res) {
|
path: url.parse(req.url).pathname
|
||||||
|
}, function(proxy_res) {
|
||||||
|
|
||||||
common.debug('proxy res headers: ' + JSON.stringify(proxy_res.headers));
|
common.debug('proxy res headers: ' + JSON.stringify(proxy_res.headers));
|
||||||
|
|
||||||
@ -76,10 +76,10 @@ function startReq() {
|
|||||||
nlistening++;
|
nlistening++;
|
||||||
if (nlistening < 2) return;
|
if (nlistening < 2) return;
|
||||||
|
|
||||||
var client = http.createClient(PROXY_PORT);
|
var client = http.get({
|
||||||
var req = client.request('/test');
|
port: PROXY_PORT,
|
||||||
common.debug('client req');
|
path: '/test'
|
||||||
req.addListener('response', function(res) {
|
}, function(res) {
|
||||||
common.debug('got res');
|
common.debug('got res');
|
||||||
assert.equal(200, res.statusCode);
|
assert.equal(200, res.statusCode);
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ function startReq() {
|
|||||||
common.debug('closed both');
|
common.debug('closed both');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
req.end();
|
common.debug('client req');
|
||||||
}
|
}
|
||||||
|
|
||||||
common.debug('listen proxy');
|
common.debug('listen proxy');
|
||||||
|
@ -40,18 +40,20 @@ var srv = http.createServer(function(req, res) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
srv.listen(common.PORT, function() {
|
srv.listen(common.PORT, function() {
|
||||||
var hc = http.createClient(common.PORT, 'localhost');
|
http.get({
|
||||||
var hr = hc.request('/',
|
host: 'localhost',
|
||||||
[
|
port: common.PORT,
|
||||||
['accept', 'abc'],
|
path: '/',
|
||||||
['accept', 'def'],
|
headers: [
|
||||||
['Accept', 'ghijklmnopqrst'],
|
['accept', 'abc'],
|
||||||
['host', 'foo'],
|
['accept', 'def'],
|
||||||
['Host', 'bar'],
|
['Accept', 'ghijklmnopqrst'],
|
||||||
['hOst', 'baz'],
|
['host', 'foo'],
|
||||||
['x-foo', 'bingo'],
|
['Host', 'bar'],
|
||||||
['x-bar', 'banjo'],
|
['hOst', 'baz'],
|
||||||
['x-bar', 'bango']
|
['x-foo', 'bingo'],
|
||||||
]);
|
['x-bar', 'banjo'],
|
||||||
hr.end();
|
['x-bar', 'bango']
|
||||||
|
]
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -43,11 +43,7 @@ server.addListener('listening', function() {
|
|||||||
//
|
//
|
||||||
// one set-cookie header
|
// one set-cookie header
|
||||||
//
|
//
|
||||||
var client = http.createClient(common.PORT);
|
http.get({ port: common.PORT, path: '/one' }, function(res) {
|
||||||
var req = client.request('GET', '/one');
|
|
||||||
req.end();
|
|
||||||
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
// set-cookie headers are always return in an array.
|
// set-cookie headers are always return in an array.
|
||||||
// even if there is only one.
|
// even if there is only one.
|
||||||
assert.deepEqual(['A'], res.headers['set-cookie']);
|
assert.deepEqual(['A'], res.headers['set-cookie']);
|
||||||
@ -66,11 +62,7 @@ server.addListener('listening', function() {
|
|||||||
|
|
||||||
// two set-cookie headers
|
// two set-cookie headers
|
||||||
|
|
||||||
var client = http.createClient(common.PORT);
|
http.get({ port: common.PORT, path: '/two' }, function(res) {
|
||||||
var req = client.request('GET', '/two');
|
|
||||||
req.end();
|
|
||||||
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
assert.deepEqual(['A', 'B'], res.headers['set-cookie']);
|
assert.deepEqual(['A', 'B'], res.headers['set-cookie']);
|
||||||
assert.equal('text/plain', res.headers['content-type']);
|
assert.equal('text/plain', res.headers['content-type']);
|
||||||
|
|
||||||
|
@ -96,11 +96,7 @@ server.addListener('listening', function() {
|
|||||||
|
|
||||||
// now, see if the client sees the trailers.
|
// now, see if the client sees the trailers.
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
http.get({ port: common.PORT, path: '/hello', headers: {} }, function(res) {
|
||||||
var req = client.request('/hello', {});
|
|
||||||
req.end();
|
|
||||||
outstanding_reqs++;
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
res.addListener('end', function() {
|
res.addListener('end', function() {
|
||||||
//console.log(res.trailers);
|
//console.log(res.trailers);
|
||||||
assert.ok('x-foo' in res.trailers, 'Client doesn\'t see trailers.');
|
assert.ok('x-foo' in res.trailers, 'Client doesn\'t see trailers.');
|
||||||
@ -111,4 +107,5 @@ server.addListener('listening', function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
outstanding_reqs++;
|
||||||
});
|
});
|
||||||
|
@ -52,8 +52,8 @@ var gotUpgrade = false;
|
|||||||
|
|
||||||
srv.listen(common.PORT, '127.0.0.1', function() {
|
srv.listen(common.PORT, '127.0.0.1', function() {
|
||||||
|
|
||||||
var hc = http.createClient(common.PORT, '127.0.0.1').request('GET', '/');
|
var req = http.get({ port: common.PORT });
|
||||||
hc.addListener('upgrade', function(res, socket, upgradeHead) {
|
req.addListener('upgrade', function(res, socket, upgradeHead) {
|
||||||
// XXX: This test isn't fantastic, as it assumes that the entire response
|
// XXX: This test isn't fantastic, as it assumes that the entire response
|
||||||
// from the server will arrive in a single data callback
|
// from the server will arrive in a single data callback
|
||||||
assert.equal(upgradeHead, 'nurtzo');
|
assert.equal(upgradeHead, 'nurtzo');
|
||||||
@ -69,7 +69,6 @@ srv.listen(common.PORT, '127.0.0.1', function() {
|
|||||||
|
|
||||||
gotUpgrade = true;
|
gotUpgrade = true;
|
||||||
});
|
});
|
||||||
hc.end();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -42,29 +42,28 @@ server.listen(common.PORT, function() {
|
|||||||
function upgradeRequest(fn) {
|
function upgradeRequest(fn) {
|
||||||
console.log("req");
|
console.log("req");
|
||||||
var header = { 'Connection': 'Upgrade', 'Upgrade': 'Test' };
|
var header = { 'Connection': 'Upgrade', 'Upgrade': 'Test' };
|
||||||
var request = http.createClient(common.PORT).request('GET', '/', header);
|
var request = http.request({ port: common.PORT, headers: header });
|
||||||
var client = request;
|
|
||||||
var wasUpgrade = false;
|
var wasUpgrade = false;
|
||||||
|
|
||||||
function onUpgrade(res, socket, head) {
|
function onUpgrade(res, socket, head) {
|
||||||
console.log("client upgraded");
|
console.log("client upgraded");
|
||||||
wasUpgrade = true;
|
wasUpgrade = true;
|
||||||
|
|
||||||
client.removeListener('upgrade', onUpgrade);
|
request.removeListener('upgrade', onUpgrade);
|
||||||
socket.end();
|
socket.end();
|
||||||
}
|
}
|
||||||
client.on('upgrade', onUpgrade);
|
request.on('upgrade', onUpgrade);
|
||||||
|
|
||||||
function onEnd() {
|
function onEnd() {
|
||||||
console.log("client end");
|
console.log("client end");
|
||||||
client.removeListener('end', onEnd);
|
request.removeListener('end', onEnd);
|
||||||
if (!wasUpgrade) {
|
if (!wasUpgrade) {
|
||||||
throw new Error('hasn\'t received upgrade event');
|
throw new Error('hasn\'t received upgrade event');
|
||||||
} else {
|
} else {
|
||||||
fn && process.nextTick(fn);
|
fn && process.nextTick(fn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
client.on('close', onEnd);
|
request.on('close', onEnd);
|
||||||
|
|
||||||
request.write('head');
|
request.write('head');
|
||||||
|
|
||||||
|
@ -45,10 +45,7 @@ process.addListener('exit', function() {
|
|||||||
|
|
||||||
|
|
||||||
server.listen(common.PORT, function() {
|
server.listen(common.PORT, function() {
|
||||||
var client = http.createClient(common.PORT);
|
http.get({ port: common.PORT }, function(res) {
|
||||||
var req = client.request('/');
|
|
||||||
req.end();
|
|
||||||
req.addListener('response', function(res) {
|
|
||||||
assert.equal(200, res.statusCode);
|
assert.equal(200, res.statusCode);
|
||||||
res.setEncoding('ascii');
|
res.setEncoding('ascii');
|
||||||
res.addListener('data', function(chunk) {
|
res.addListener('data', function(chunk) {
|
||||||
|
@ -64,10 +64,13 @@ var server = http.Server(function(req, res) {
|
|||||||
server.listen(common.PORT);
|
server.listen(common.PORT);
|
||||||
|
|
||||||
server.addListener('listening', function() {
|
server.addListener('listening', function() {
|
||||||
var client = http.createClient(common.PORT);
|
var agent = new http.Agent({ port: common.PORT, maxSockets: 1 });
|
||||||
var req = client.request('/hello', {'Accept': '*/*', 'Foo': 'bar'});
|
http.get({
|
||||||
req.end();
|
port: common.PORT,
|
||||||
req.addListener('response', function(res) {
|
path: '/hello',
|
||||||
|
headers: {'Accept': '*/*', 'Foo': 'bar'},
|
||||||
|
agent: agent
|
||||||
|
}, function(res) {
|
||||||
assert.equal(200, res.statusCode);
|
assert.equal(200, res.statusCode);
|
||||||
responses_recvd += 1;
|
responses_recvd += 1;
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
@ -76,15 +79,19 @@ server.addListener('listening', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
req = client.request('POST', '/world');
|
var req = http.request({
|
||||||
req.end();
|
port: common.PORT,
|
||||||
req.addListener('response', function(res) {
|
method: 'POST',
|
||||||
|
path: '/world',
|
||||||
|
agent: agent
|
||||||
|
}, function(res) {
|
||||||
assert.equal(200, res.statusCode);
|
assert.equal(200, res.statusCode);
|
||||||
responses_recvd += 1;
|
responses_recvd += 1;
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
res.addListener('data', function(chunk) { body1 += chunk; });
|
res.addListener('data', function(chunk) { body1 += chunk; });
|
||||||
common.debug('Got /world response');
|
common.debug('Got /world response');
|
||||||
});
|
});
|
||||||
|
req.end();
|
||||||
}, 1);
|
}, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -44,8 +44,7 @@ netBinding.listen(fd, 128);
|
|||||||
srv.listenFD(fd);
|
srv.listenFD(fd);
|
||||||
|
|
||||||
// Make an HTTP request to the server above
|
// Make an HTTP request to the server above
|
||||||
var hc = http.createClient(common.PORT, '127.0.0.1');
|
http.get({ port: common.PORT, host: '127.0.0.1', path: '/'});
|
||||||
hc.request('/').end();
|
|
||||||
|
|
||||||
// Verify that we're exiting after having received an HTTP request
|
// Verify that we're exiting after having received an HTTP request
|
||||||
process.addListener('exit', function() {
|
process.addListener('exit', function() {
|
||||||
|
@ -107,12 +107,12 @@ function startClient() {
|
|||||||
|
|
||||||
console.log('Making request');
|
console.log('Making request');
|
||||||
|
|
||||||
var client = http.createClient(common.PORT);
|
var req = http.request({
|
||||||
var req = client.request('GET', '/', { 'content-length': buffer.length });
|
port: common.PORT,
|
||||||
req.write(buffer);
|
method: 'GET',
|
||||||
req.end();
|
path: '/',
|
||||||
|
headers: { 'content-length': buffer.length }
|
||||||
req.on('response', function(res) {
|
}, function(res) {
|
||||||
console.log('Got response');
|
console.log('Got response');
|
||||||
res.setEncoding('utf8');
|
res.setEncoding('utf8');
|
||||||
res.on('data', function(string) {
|
res.on('data', function(string) {
|
||||||
@ -120,6 +120,8 @@ function startClient() {
|
|||||||
gotThanks = true;
|
gotThanks = true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
req.write(buffer);
|
||||||
|
req.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
process.on('exit', function() {
|
process.on('exit', function() {
|
||||||
|
@ -37,12 +37,7 @@ var gotResponse = false;
|
|||||||
var resBodySize = 0;
|
var resBodySize = 0;
|
||||||
|
|
||||||
server.listen(common.PORT, function() {
|
server.listen(common.PORT, function() {
|
||||||
var client = http.createClient(common.PORT);
|
http.get({ port: common.PORT }, function(res) {
|
||||||
|
|
||||||
var req = client.request('GET', '/');
|
|
||||||
req.end();
|
|
||||||
|
|
||||||
req.on('response', function(res) {
|
|
||||||
gotResponse = true;
|
gotResponse = true;
|
||||||
|
|
||||||
res.on('data', function(d) {
|
res.on('data', function(d) {
|
||||||
@ -60,4 +55,3 @@ process.on('exit', function() {
|
|||||||
assert.equal(0, resBodySize);
|
assert.equal(0, resBodySize);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user