summaryrefslogtreecommitdiff
path: root/lib/_http_agent.js
diff options
context:
space:
mode:
authorGiorgos Ntemiris <ntemirisgiorgos3@gmail.com>2019-09-12 09:22:05 +0200
committerRich Trott <rtrott@gmail.com>2019-09-18 06:08:52 -0700
commit2daf883a18951b4cf48216f60859ceda9dec9873 (patch)
treee5ba91cc15940986107f8d9cbe75138fbcf6911d /lib/_http_agent.js
parenta0c6cf8eb1bbe4b964b8267341e894a8fafeab51 (diff)
downloadandroid-node-v8-2daf883a18951b4cf48216f60859ceda9dec9873.tar.gz
android-node-v8-2daf883a18951b4cf48216f60859ceda9dec9873.tar.bz2
android-node-v8-2daf883a18951b4cf48216f60859ceda9dec9873.zip
http: throw if 'host' agent header is not a string value
If the 'host' agent header is an array or other non-string value, throw. PR-URL: https://github.com/nodejs/node/pull/29568 Fixes: https://github.com/nodejs/node/issues/29408 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
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