summaryrefslogtreecommitdiff
path: root/test/parallel/test-https-request-arguments.js
blob: 9dc80094be0d2cdc5a82364d2b847e16a1ff6df6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
'use strict';
const common = require('../common');
const assert = require('assert');
const fixtures = require('../common/fixtures');

if (!common.hasCrypto)
  common.skip('missing crypto');
const https = require('https');

const options = {
  key: fixtures.readKey('agent1-key.pem'),
  cert: fixtures.readKey('agent1-cert.pem'),
  ca: fixtures.readKey('ca1-cert.pem')
};

// Test providing both a url and options, with the options partially
// replacing address and port portions of the URL provided.
{
  const server = https.createServer(
    options,
    common.mustCall((req, res) => {
      assert.strictEqual(req.url, '/testpath');
      res.end();
      server.close();
    })
  );

  server.listen(
    0,
    common.mustCall(() => {
      https.get(
        'https://example.com/testpath',

        {
          hostname: 'localhost',
          port: server.address().port,
          rejectUnauthorized: false
        },

        common.mustCall((res) => {
          res.resume();
        })
      );
    })
  );
}