summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-correct-hostname.js
blob: b4279c1da4339f7a475ccee478784c66408b462e (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
/* eslint-disable node-core/crypto-check */
// Flags: --expose-internals
'use strict';

const common = require('../common');
const assert = require('assert');

const { outHeadersKey } = require('internal/http');

const http = require('http');
const modules = { http };

if (common.hasCrypto) {
  const https = require('https');
  modules.https = https;
}

Object.keys(modules).forEach((module) => {
  const doNotCall = common.mustNotCall(
    `${module}.request should not connect to ${module}://example.com%60x.example.com`
  );
  const req = modules[module].request(`${module}://example.com%60x.example.com`, doNotCall);
  assert.deepStrictEqual(req[outHeadersKey].host, [
    'Host',
    'example.com`x.example.com',
  ]);
  req.abort();
});