nodejs/test/parallel/test-http-client-with-create-connection.js

56 lines
969 B
JavaScript
Raw Permalink Normal View History

'use strict';
const common = require('../common');
const http = require('http');
const net = require('net');
const tmpdir = require('../common/tmpdir');
tmpdir.refresh();
let count = 0;
let server1;
let server2;
function request(options) {
count++;
http.get({
...options,
createConnection: (...args) => {
return net.connect(...args);
}
}, (res) => {
res.resume();
res.on('end', () => {
if (--count === 0) {
server1.close();
server2.close();
}
});
});
}
server1 = http.createServer((req, res) => {
res.end('ok');
}).listen(common.PIPE, () => {
server2 = http.createServer((req, res) => {
res.end('ok');
}).listen(() => {
request({
path: '/',
socketPath: common.PIPE,
});
request({
socketPath: common.PIPE,
});
request({
path: '/',
port: server2.address().port,
});
request({
port: server2.address().port,
});
});
});