56 lines
969 B
JavaScript
56 lines
969 B
JavaScript
|
'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,
|
||
|
});
|
||
|
});
|
||
|
});
|