diff --git a/test/parallel/test-https-host-headers.js b/test/parallel/test-https-host-headers.js index 996b37a63385fb..b8dcda320fddc5 100644 --- a/test/parallel/test-https-host-headers.js +++ b/test/parallel/test-https-host-headers.js @@ -7,15 +7,15 @@ if (!common.hasCrypto) const assert = require('assert'); const https = require('https'); +const debug = require('util').debuglog('test'); -const options = { - key: fixtures.readKey('agent1-key.pem'), - cert: fixtures.readKey('agent1-cert.pem') -}; -const httpsServer = https.createServer(options, reqHandler); +let counter = 0; -function reqHandler(req, res) { - console.log(`Got request: ${req.headers.host} ${req.url}`); +const httpsServer = https.createServer({ + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem'), +}, common.mustCall(function(req, res) { + debug(`Got request: ${req.headers.host} ${req.url}`); if (req.url.startsWith('/setHostFalse')) { assert.strictEqual(req.headers.host, undefined); } else { @@ -25,106 +25,93 @@ function reqHandler(req, res) { } res.writeHead(200, {}); res.end('ok'); -} - -function thrower(er) { - throw er; -} - -testHttps(); - -function testHttps() { - - let counter = 0; - - function cb(res) { - counter--; - console.log(`back from https request. counter = ${counter}`); - if (counter === 0) { - httpsServer.close(); - console.log('ok'); - } - res.resume(); +}, 9)).listen(0, common.mustCall(function(err) { + debug(`test https server listening on port ${this.address().port}`); + assert.ifError(err); + https.get({ + method: 'GET', + path: `/${counter++}`, + host: 'localhost', + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()); + + https.request({ + method: 'GET', + path: `/${counter++}`, + host: 'localhost', + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()).end(); + + https.request({ + method: 'POST', + path: `/${counter++}`, + host: 'localhost', + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()).end(); + + https.request({ + method: 'PUT', + path: `/${counter++}`, + host: 'localhost', + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()).end(); + + https.request({ + method: 'DELETE', + path: `/${counter++}`, + host: 'localhost', + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()).end(); + + https.get({ + method: 'GET', + path: `/setHostFalse${counter++}`, + host: 'localhost', + setHost: false, + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()); + + https.request({ + method: 'GET', + path: `/${counter++}`, + host: 'localhost', + setHost: true, + // agent: false, + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()).end(); + + https.get({ + method: 'GET', + path: `/setHostFalse${counter++}`, + host: 'localhost', + setHost: 0, + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()); + + https.get({ + method: 'GET', + path: `/setHostFalse${counter++}`, + host: 'localhost', + setHost: null, + port: this.address().port, + rejectUnauthorized: false, + }, cb).on('error', common.mustNotCall()); +})); + +const cb = common.mustCall(function(res) { + counter--; + debug(`back from https request. counter = ${counter}`); + if (counter === 0) { + httpsServer.close(); + debug('ok'); } - - httpsServer.listen(0, function(er) { - console.log(`test https server listening on port ${this.address().port}`); - assert.ifError(er); - https.get({ - method: 'GET', - path: `/${counter++}`, - host: 'localhost', - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower); - - https.request({ - method: 'GET', - path: `/${counter++}`, - host: 'localhost', - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'POST', - path: `/${counter++}`, - host: 'localhost', - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'PUT', - path: `/${counter++}`, - host: 'localhost', - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.request({ - method: 'DELETE', - path: `/${counter++}`, - host: 'localhost', - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.get({ - method: 'GET', - path: `/setHostFalse${counter++}`, - host: 'localhost', - setHost: false, - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower); - - https.request({ - method: 'GET', - path: `/${counter++}`, - host: 'localhost', - setHost: true, - // agent: false, - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower).end(); - - https.get({ - method: 'GET', - path: `/setHostFalse${counter++}`, - host: 'localhost', - setHost: 0, - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower); - - https.get({ - method: 'GET', - path: `/setHostFalse${counter++}`, - host: 'localhost', - setHost: null, - port: this.address().port, - rejectUnauthorized: false - }, cb).on('error', thrower); - }); -} + res.resume(); +}, 9);