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