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>
This commit is contained in:
Giorgos Ntemiris 2019-09-12 09:22:05 +02:00 committed by Rich Trott
parent a0c6cf8eb1
commit 2daf883a18
2 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,23 @@
'use strict';
require('../common');
const assert = require('assert');
const http = require('http');
{
const options = {
port: '80',
path: '/',
headers: {
host: []
}
};
assert.throws(() => {
http.request(options);
}, {
code: /ERR_INVALID_ARG_TYPE/
}, 'http request should throw when passing array as header host');
}