| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| const http = require('http'); |
| |
| |
| const server = http.createServer(common.mustCall(function(req, res) { |
| res.writeHead(200); |
| res.end('ok'); |
| })); |
| |
| server.listen(0, function() { |
| const agent = new http.Agent(); |
| agent.defaultPort = this.address().port; |
| |
| // Options marked as explicitly undefined for readability |
| // in this test, they should STAY undefined as options should not |
| // be mutable / modified |
| const options = { |
| host: undefined, |
| hostname: common.localhostIPv4, |
| port: undefined, |
| defaultPort: undefined, |
| path: undefined, |
| method: undefined, |
| agent: agent |
| }; |
| |
| http.request(options, function(res) { |
| res.resume(); |
| server.close(); |
| assert.strictEqual(options.host, undefined); |
| assert.strictEqual(options.hostname, common.localhostIPv4); |
| assert.strictEqual(options.port, undefined); |
| assert.strictEqual(options.defaultPort, undefined); |
| assert.strictEqual(options.path, undefined); |
| assert.strictEqual(options.method, undefined); |
| }).end(); |
| }); |