| '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, |
| }); |
| }); |
| }); |