summaryrefslogtreecommitdiff
path: root/lib/_http_agent.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_http_agent.js')
-rw-r--r--lib/_http_agent.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/_http_agent.js b/lib/_http_agent.js
index e1cfa6d7fc..25ff16fea1 100644
--- a/lib/_http_agent.js
+++ b/lib/_http_agent.js
@@ -27,7 +27,11 @@ const net = require('net');
const EventEmitter = require('events');
const debug = require('internal/util/debuglog').debuglog('http');
const { async_id_symbol } = require('internal/async_hooks').symbols;
-
+const {
+ codes: {
+ ERR_INVALID_ARG_TYPE,
+ },
+} = require('internal/errors');
// New Agent code.
// The largest departure from the previous implementation is that
@@ -240,6 +244,11 @@ function calculateServerName(options, req) {
let servername = options.host;
const hostHeader = req.getHeader('host');
if (hostHeader) {
+ if (typeof hostHeader !== 'string') {
+ throw new ERR_INVALID_ARG_TYPE('options.headers.host',
+ 'String', hostHeader);
+ }
+
// abc => abc
// abc:123 => abc
// [::1] => ::1