summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-blank-header.js
diff options
context:
space:
mode:
authormog422 <admin@mog422.net>2017-09-11 11:00:10 +0900
committerAnna Henningsen <anna@addaleax.net>2017-10-19 18:15:58 +0200
commitf2f391e575fc8072d10e1ad1601ef3f67f13a4db (patch)
tree2c7e43cbeffcec392e4a2252ac6203369207333b /test/parallel/test-http-blank-header.js
parentd6ba14e5a52c393cbb9a01e55122ca9beff4df13 (diff)
downloadandroid-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.tar.gz
android-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.tar.bz2
android-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.zip
http: send 400 bad request on parse error
A web server such as nginx assumes that upstream is dead if upstream closes the socket without any response. PR-URL: https://github.com/nodejs/node/pull/15324 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'test/parallel/test-http-blank-header.js')
-rw-r--r--test/parallel/test-http-blank-header.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/test/parallel/test-http-blank-header.js b/test/parallel/test-http-blank-header.js
index ff86193a1b..40377fb668 100644
--- a/test/parallel/test-http-blank-header.js
+++ b/test/parallel/test-http-blank-header.js
@@ -38,6 +38,7 @@ const server = http.createServer(common.mustCall((req, res) => {
server.listen(0, common.mustCall(() => {
const c = net.createConnection(server.address().port);
+ let received = '';
c.on('connect', common.mustCall(() => {
c.write('GET /blah HTTP/1.1\r\n' +
@@ -47,7 +48,12 @@ server.listen(0, common.mustCall(() => {
'\r\n\r\nhello world'
);
}));
-
- c.on('end', common.mustCall(() => c.end()));
+ c.on('data', common.mustCall((data) => {
+ received += data.toString();
+ }));
+ c.on('end', common.mustCall(() => {
+ assert.strictEqual('HTTP/1.1 400 Bad Request\r\n\r\n', received);
+ c.end();
+ }));
c.on('close', common.mustCall(() => server.close()));
}));