• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* eslint-disable node-core/crypto-check */
2// Flags: --expose-internals
3'use strict';
4
5const common = require('../common');
6const assert = require('assert');
7
8const { kOutHeaders } = require('internal/http');
9
10const http = require('http');
11const modules = { http };
12
13if (common.hasCrypto) {
14  const https = require('https');
15  modules.https = https;
16}
17
18Object.keys(modules).forEach((module) => {
19  const doNotCall = common.mustNotCall(
20    `${module}.request should not connect to ${module}://example.com%60x.example.com`
21  );
22  const req = modules[module].request(`${module}://example.com%60x.example.com`, doNotCall);
23  assert.deepStrictEqual(req[kOutHeaders].host, [
24    'Host',
25    'example.com`x.example.com',
26  ]);
27  req.abort();
28});
29