1'use strict';
2const common = require('../common');
3
4if (!common.hasCrypto)
5  common.skip('missing crypto');
6
7const fixtures = require('../common/fixtures');
8
9// This test ensures that a http request callback is called when the agent
10// option is set.
11// See https://github.com/nodejs/node-v0.x-archive/issues/1531
12
13const https = require('https');
14
15const options = {
16  key: fixtures.readKey('agent1-key.pem'),
17  cert: fixtures.readKey('agent1-cert.pem')
18};
19
20const server = https.createServer(options, function(req, res) {
21  res.writeHead(200);
22  res.end('hello world\n');
23});
24
25server.listen(0, common.mustCall(function() {
26  console.error('listening');
27  https.get({
28    agent: false,
29    path: '/',
30    port: this.address().port,
31    rejectUnauthorized: false
32  }, common.mustCall(function(res) {
33    console.error(res.statusCode, res.headers);
34    res.resume();
35    server.close();
36  })).on('error', function(e) {
37    console.error(e);
38    process.exit(1);
39  });
40}));
41