2018-04-25 00:37:43 +00:00
|
|
|
/* eslint-disable node-core/crypto-check */
|
|
|
|
// Flags: --expose-internals
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const common = require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
|
2019-08-12 06:52:18 +00:00
|
|
|
const { kOutHeaders } = require('internal/http');
|
2018-04-25 00:37:43 +00:00
|
|
|
|
|
|
|
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);
|
2019-08-12 06:52:18 +00:00
|
|
|
assert.deepStrictEqual(req[kOutHeaders].host, [
|
2018-04-25 00:37:43 +00:00
|
|
|
'Host',
|
|
|
|
'example.com`x.example.com',
|
|
|
|
]);
|
|
|
|
req.abort();
|
|
|
|
});
|